【问题标题】:XML validation for big files passes even with errors即使有错误,大文件的 XML 验证也会通过
【发布时间】:2019-04-10 08:35:03
【问题描述】:

我正在处理我的大 xml 文件(28000 行)。 这个 xml 有时有一些重复的结束标记

eg: <question>what can i do?</question>>

所有在线的xml验证器都没有发现像这样的大文件的错误并给我代码。

我尝试了 w3c xml 验证器,但它也不起作用(link)。

我的 xml 是由一些非常旧的遗留代码自动生成的,没有人会解决这个问题,所以我一直在寻找一些在线验证器或软件来为我做这件事,而无需在记事本中寻找标签。

有人知道我应该如何处理这个问题吗?我错过了什么吗?有什么建议吗?

谢谢

【问题讨论】:

    标签: xml validation visual-studio-code w3c-validation


    【解决方案1】:

    额外的 '>' 实际上是有效的 xml 并被视为字符数据(请参阅 https://www.w3.org/TR/xml/#syntax),这就是它通过验证的原因。

    如果您知道 xml 的确切结构,您可以尝试为它定义一个 xml 架构并使用它进行验证,例如:

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
      <xs:element name="root">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="question" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    

    将触发验证错误:

    <root>
        <question>what can i do?</question>>
    </root>
    

    【讨论】:

      猜你喜欢
      • 2018-06-09
      • 2018-07-23
      • 2015-12-15
      • 2022-11-09
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      相关资源
      最近更新 更多