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

时间:2016-01-21 12:14:57

标签: c# xml xsd

我有一个来自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 ,这对该功能不会产生任何影响。

1 个答案:

答案 0 :(得分:0)

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

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