将整个 XML 验证为预定义的结构

本文关键字:预定义 结构 验证 XML | 更新日期: 2023-09-27 18:31:27

我有一个来自Web服务的XML字符串,它可能缺少一些子节点。

在解析 XML 之前,我想检查所有节点是否都在那里并且正确。

例:

<fields>
    <field RandomAttribute="True">  //these attributes should not make a difference
       <name>Test1</name>
       <type>Text</type>
       <id>123</id>
    </field>
    <field>
       <name>Test2</name> //THIS field node lacks the "type" child node
       <id>114</id>
    </field>
</fields>

获取整个 XML 并检查所有节点是否符合预定义的 xml 架构/结构的最佳方法是什么?

请注意,我向第一个 FIELD 节点添加了一个 RandomAttribute,这应该不会对功能产生任何影响。

将整个 XML 验证为预定义的结构

验证 XML 文档的一般方法是引用 XSD 架构。我认为,模式的"anyAttribute"元素可用于以您要求的方式进行验证。

请查看 http://www.w3schools.com/xml/schema_complex_anyattribute.asp,了解如何对声明的元素类型使用 anyAttribute 类型来接受任何格式正确的属性。