如何使用xpath来获取特定的xsd元素



我正在尝试查找特定父xsd元素中的特定xsd元素正在使用xpath,但找不到解决方案。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="XYZ">
<xs:complexType>
<xs:sequence>
<xs:element name="XX" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="AA">
<xs:complexType>
<xs:attribute type="xs:string" name="testA" use="required" />
<xs:attribute type="xs:string" name="testB" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="YY" minOccurs="0" />
<xs:element name="ZZ">
<xs:complexType>
<xs:sequence>
<xs:element name="AA" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

我尝试了以下xpath:

/xs:element[@name='XYZ']/xs:element[@name='XX']/xs:element[@name='AA']

但是结果是一个空列表。

我希望有人能帮助我。

//xs:element[@name="XYZ"]//xs:element[@name="XX"]//xs:element[@name="AA"]

应该给出所需的结果-您只需要使用//来处理祖先的任意深度。

来自XPath示例:


bookstore//title

所有CCD_ 2元素在CCD_。


bookstore//book/excerpt//emph

所有<emph>元素在<excerpt>内的任何位置都是<book>元素的子元素,在<bookstore>元素内的任何地方。

最新更新