我在 C# 应用程序中有一个方法可以针对嵌入式 XSD 验证用户输入 XML 文件。它工作得很好,但它要求所有子元素都按照 XSD 中定义的确切顺序。不过对我来说,只要元素存在,顺序就无关紧要。
例如,如果我有以下 XSD...
<xs:element maxOccurs="unbounded" name="ParentElement">
<xs:complexType>
<xs:sequence>
<xs:element name="FirstChildElement" type="xs:string" />
<xs:element name="SecondChildElement" type="xs:string" />
<xs:element name="ThirdChildElement" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
像这样的 XML...
<ParentElement>
<FirstChildElement>someValue</FirstChildElement>
<ThirdChildElement>someValue</ThirdChildElement>
<SecondChildElement>someValue</SecondChildElement>
</ParentElement>
如果我验证它,我会收到一个错误,因为子元素出现故障。
我可以对 XSD 进行一些更改,以便验证只关心元素是否存在,并且它们是否在正确的父元素下,而不是它们的顺序?