【发布时间】:2013-02-08 11:49:56
【问题描述】:
我想使用 xsd 架构验证 xml,但我不知道如何为具有可变名称的元素创建正确的 xsd 架构。我的 xml 文档:
<Settings xmlns="main">
<Object>
<Rules>
<Rule0>
<Range>0 to 0</Range>
<String>SomeString</String>
<Integer>80</Integer>
<Enabled>No</Enabled>
</Rule0>
<Rule0>
<Range>0 to 0</Range>
<String>SomeString</String>
<Integer>80</Integer>
<Enabled>No</Enabled>
</Rule0>
</Rules>
<ObjectEnabled>No</ObjectEnabled>
</Object>
</Settings
还有我的 xsd 文档:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="main" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Settings">
<xs:complexType>
<xs:sequence>
<xs:element name="Object">
<xs:complexType>
<xs:sequence>
<xs:element name="Rules">
<xs:complexType>
<xs:sequence>
<xs:element name="?" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Range"/>
<xs:element type="xs:string" name="String"/>
<xs:element type="xs:byte" name="Integer"/>
<xs:element type="xs:string" name="Enabled"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="ObjectEnabled"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
偏离课程而不是“Rule1”,它可能是“Blablabla”。我知道我不能输入通配符或问号,所以我请你帮忙。
【问题讨论】:
标签: c# xml validation xsd