是否有 .NET 调用来验证一个 XML 模式是否与另一个模式向后兼容?
问问题
267 次
1 回答
2
不,您必须使用XmlSchema
该类来解析两个模式,然后编写进行比较的代码。
XML 比较/差异不会削减它,因为两个 XSD 甚至可以相同并且具有非常不同的 XML 表示 - 例如:
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="test">
<xs:complexType>
<xs:sequence>
<xs:element name="str" type="xs:string"/>
</xs:sequence>
<xs:attribute name="num" type="xs:int"/>
</xs:complexType>
</xs:element>
</xs:schema>
和
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="test" type="test">
</xs:element>
<xs:complexType name="test">
<xs:sequence>
<xs:element name="str" type="xs:string"/>
</xs:sequence>
<xs:attribute name="num" type="xs:int"/>
</xs:complexType>
</xs:schema>
于 2013-01-18T13:42:37.040 回答