xmldocumentxsd验证没有发现错误
本文关键字:发现 错误 验证 xmldocumentxsd | 更新日期: 2023-09-27 17:49:35
我用代码构建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>
…等等......我认为其余的都与这个问题无关。
在一个断点,我复制(前几行)InnerXml从我的XmlDocument:
<?xml version="1.0" ?>
<MyRoot>
<ThingsAndSomeStuffMakingItInvalid>
<Thing>
…等等。
谢谢马克斯
我认为你的问题是由于在你的XML文件中你没有引用你的"MySchema"。因此,当尝试验证它时,验证器将不知道XML文件应该针对该XML文件进行验证。