XmlDocument XSD 验证未发现错误

XmlDocument XSD Validation does not find error

我用代码构建我的 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>

...等等。

谢谢 最大值

我认为您的问题是由于在您的 XML 文件中您没有引用您的 "MySchema"。因此,当尝试对其进行验证时,验证器将不知道 XML 文件应该针对 XML 文件进行验证。