簡體   English   中英

根據XSD驗證XML並忽略子元素的順序

[英]Validate XML against XSD and ignore order of child elements

我在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進行一些更改,因此驗證只關注元素是否存在,並且它們是否在正確的父級下,而不是它們所處的順序?

順序意味着,元素必須以特定順序出現。 你可能想要xs:all。 請查看http://www.w3schools.com/xml/schema_complex_indicators.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM