2009-11-08 47 views
1

我做了这个包含复杂类型“文本”的XSD:验证是否所有的属性类型为xs:ID存在于XML

<xs:complexType name="Text"> 
    <xs:complexContent mixed="false"> 
    <xs:attribute name="Id" type="xs:ID" use="required"> 
    </xs:attribute> 
    </xs:complexContent> 
</xs:complexType> 

在一个字符串,我想找到的所有文本节点缺少ID。有没有一种方法来验证XML?

我不能使用XPath,因为我有其他名为Text的节点不需要Id。我真的需要检查XSD。

谢谢

+0

你是什么意思'其他节点命名文本“ - 在同一个命名空间?那么你打算如何区分它们?无论你的计划是什么,它可以用XPath表示 – mfeingold 2009-11-08 22:28:16

回答

0

可以通过指定它的​​,并通过与XmlReader简单while(reader.Read()) {}迭代,处理验证事件(上ValidationEventHandler)验证你对XSD XML。例如,see MSDN

请注意,这将报告所有模式错误,所以如果您有其他问题,您需要将其过滤掉。

相关问题