我正在尝试查找特定父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>
元素内的任何地方。