XmlDocument XSD验证未找到错误

时间:2015-05-18 09:08:24

标签: c# xml validation xsd xmldocument

我在代码中构建了我的XmlDocument。 在返回之前,我想根据文件中定义的XSD对其进行验证。

xmlDocument.Schemas.Add(null, "MySchema.xsd");
xmlDocument.Validate((sender, e) => {
    if (e.Severity == XmlSeverityType.Error) {
                // Write error to log
    }
});

永远不会发生任何错误。虽然我为了测试目的而在我的XmlDocument中添加了一个错误。

有谁能告诉我,我做错了什么?

编辑: 我的XSD就像

一样
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="MyRoot">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Things" type="Things"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="Things">
        <xs:sequence>
            <xs:element name="Thing" type="Thing" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

......等等。我认为,其余部分与问题无关。

在断点处,我从我的XmlDocument中复制了(前几行)InnerXml:

    <?xml version="1.0" ?> 
        <MyRoot>
           <ThingsAndSomeStuffMakingItInvalid>
               <Thing>

......等等。

由于 最大

1 个答案:

答案 0 :(得分:0)

我认为您的问题是由于您的XML文件中没有引用您的“MySchema”这一事实。因此,在尝试验证它时,验证器将不知道应该针对该XML文件验证XML文件。