提问人:michealAtmi 提问时间:3/25/2022 最后编辑:michealAtmi 更新时间:3/25/2022 访问量:57
w3c 文档 xpath 不返回节点集
w3c Document xpath does not return nodeset
问:
你好:)我想拥有所有节点,但集合的长度返回 0。将来我需要属性列表,例如,目前它将是包含 WOW 的单元素列表。但问题是我根本无法选择节点。enumeration
enumeration.value
enumeration
xml 部分:
<xs:complexType name="Code.Something">
<xs:complexContent>
<xs:restriction base="xxx:Code">
<xs:sequence>
<xs:element name="code" form="unqualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="WOW">
<xs:annotation>
<xs:appinfo>
<Test>ABC</Test>
</xs:appinfo>
</xs:annotation>
</xs:enumeration>
其长度为 1:
((NodeList) xPath.evaluate("//*[local-name()='complexType'][@name='Code.Something']",
doc, XPathConstants.NODESET)).getLength();
它的长度为 0 - 为什么 ?:
((NodeList) xPath.evaluate("//*[local-name()='complexType'][@name='Code.Something']/*[local-name()='enumeration']",
doc, XPathConstants.NODESET)).getLength();
答:
1赞
JaSON
3/25/2022
#1
节点之间的单斜杠 () 表示要选择 node1
的直接子节点。您需要在节点 () 之间使用双斜杠来选择 node1
的后代:node1/node2
node2
//
node1//node2
node2
//*[local-name()='complexType'][@name='Code.Something']//*[local-name()='enumeration']
评论