即使没有任何内容,也会出现Notepad ++ XML解析错误“文档末尾的额外内容”

Ced*_*sse 4 xml notepad++ syntax-error large-files xml-parsing

尝试在Notepad ++中验证我的55 mb XML文件时,出现上述错误消息。第一个出现错误的错误在这里(22258651中的第1441520行): Notepad ++的屏幕截图

我已打开显示所有字符。没有任何建议表明该行的末尾应该有任何非法字符。正如您在屏幕截图上所看到的,CR + LF之外没有其他隐藏字符。

编辑:下面是导致在记事本++中的分析错误的记录的副本:

    <?xml version="1.0" encoding="UTF-8"?>
<Registreringer>
  <Registrering>
    <ID>1697947</ID>
    <LHAnr>316-01</LHAnr>
    <RegId>316-01K1037</RegId>
    <RegType />
    <Signatur>K</Signatur>
    <Regnr>1037</Regnr>
    <srnr />
    <ArkivSkaber />
    <Journalnr />
    <Sted>460872</Sted>
    <sted1>315</sted1>
    <sted2>12</sted2>
    <sted3>0</sted3>
    <UTM />
    <Betegnelse>
Hidden.

Hidden.
</Betegnelse>
    <kat1 />
    <kat2 />
    <kat3 />
    <kat4 />
    <Datering>1804</Datering>
    <DateringNote />
    <Klausul>Almindelige regler</Klausul>
    <Bem />
    <BemEx1 />
    <BemEx2 />
    <IntBem />
    <KortResume>
Hidden

Opmaalt 1804 af Hidden.
</KortResume>
    <SogeOrd />
    <RegDato>25-04-2000 00:00:00</RegDato>
    <RegAf>Hidden</RegAf>
    <GodkDato />
    <Godkendt />
    <Varighed />
    <Fra>1804</Fra>
    <Til>1804</Til>
    <YderAar />
    <Signaturer />
    <IaltBind />
    <IaltPakker />
    <IaltLaeg />
    <Stiftet />
    <Nedlagt />
    <hyldemeter>0,00</hyldemeter>
    <hyldecentimeter />
    <placering />
    <Art>Markkort</Art>
    <Maal>26 x 38</Maal>
    <TeknOpl>
Affoto



</TeknOpl>
    <Fotograf />
    <Materiale />
    <materiale2 />
    <Negativ />
    <FotografNegativ />
    <foto1 />
    <foto2 />
    <Referencenr />
    <Ref>



</Ref>
    <Motiv />
    <Udgaver />
    <Obs />
    <billede />
    <Samlingstype>14</Samlingstype>
    <SkabelonId />
    <Publicering />
    <Materialetype />
    <PkBind>0</PkBind>
    <PkPakker>0</PkPakker>
    <PkLaeg>0</PkLaeg>
    <Henvisning>
      <Id>3592636</Id>
      <LhaNr>316-01</LhaNr>
      <RegId />
      <RegRef>1697947</RegRef>
      <SektionId />
      <Henvisning>Hidden</Henvisning>
      <StedId>460872</StedId>
      <Fra>1804</Fra>
      <Til>1804</Til>
      <DecimalId>1006268</DecimalId>
      <EmneordId>1449984</EmneordId>
      <EmneordLokal>
        <id>1449984</id>
        <LHAnr>316-01</LHAnr>
        <DecimalId>1006268</DecimalId>
        <Decimalklasse>40.164</Decimalklasse>
        <Emneord>Udskiftningskort</Emneord>
        <EmneStikord />
      </EmneordLokal>
      <StedLokal>
        <Id>460872</Id>
        <LhaNr>316-01</LhaNr>
        <StedKode>315-12-00</StedKode>
        <StedTxt>Hidden</StedTxt>
        <Sted1>315</Sted1>
        <Sted2>12</Sted2>
        <Sted3>0</Sted3>
        <GenStedkode />
      </StedLokal>
      <DecimalLokal>
        <ID>1006268</ID>
        <LHAnr>316-01</LHAnr>
        <Decimal>40.164</Decimal>
        <DecimalTxt>Kort</DecimalTxt>
        <CommonDecimal>40.164</CommonDecimal>
        <DecimalLokalStikord>
          <ID>6969206</ID>
          <LHAnr>316-01</LHAnr>
          <Decimal>40.164</Decimal>
          <Stikord>Kort</Stikord>
        </DecimalLokalStikord>
        <DecimalLokalStikord>
          <ID>6969207</ID>
          <LHAnr>316-01</LHAnr>
          <Decimal>40.164</Decimal>
          <Stikord>Matrikelkort</Stikord>
        </DecimalLokalStikord>
      </DecimalLokal>
    </Henvisning>
  </Registrering>
</Registreringer>
Run Code Online (Sandbox Code Playgroud)

使用W3C的验证器时,我没有收到任何错误,因此我怀疑这是长XML文件的Notepad ++特定问题。在Notepad ++中运行EOL /空白删除脚本也会损坏该文件。我可能需要使用基于CLI的替代方案...您建议什么?@吉姆驻军@villapx

vil*_*apx 5

当您的HTML标记存在语法问题时(例如,未正确关闭带有</tag>或在标记名称中带有空格的标记),通常会发生该错误。

尝试将XML文件的内容粘贴到其他XML验证器中,例如w3的,以查看是否遇到相同的错误,或者(希望如此)描述更多的错误。

为了获得更好的答案,请提供一个最小,完整和可验证的示例,以便我们重现您的问题。