我的XML文件为什么我的XPath不选择任何东西?
<classifications>
<classification sequence="1">
<classification-scheme office="" scheme="CS" />
<section>G</section>
<class>01</class>
<subclass>R</subclass>
<main-group>33</main-group>
<subgroup>365</subgroup>
<classification-value>I</classification-value>
</classification>
<classification sequence="2">
<classification-scheme office="" scheme="CS" />
<section>G</section>
<class>01</class>
<subclass>R</subclass>
<main-group>33</main-group>
<subgroup>3415</subgroup>
<classification-value>A</classification-value>
</classification>
<classification sequence="1">
<classification-scheme office="US" scheme="UC" />
<classification-symbol>324/300</classification-symbol>
</classification>
<classification sequence="2">
<classification-scheme office="US" scheme="UC" />
<classification-symbol>324/307</classification-symbol>
</classification>
</classifications>
我想与以下所需的所有classification-symbol
元素值条件 与条件一起office="US"
我试着用下面的XPath解析值,
NodeList usClassification = (NodeList)xPath.compile("//classifications//classification//classification-scheme[@office=\"US\"]//classification-symbol//text()").evaluate(xmlDocument, XPathConstants.NODESET);
但我得到一个空的结果集,
System.out.println(usClassification.getLength()); //its becomes zero
尽量避免以这种方式滥用“//”。这是一种懒惰的习惯,当你在相同的路径上执行四次时,它会严重伤害到性能,尤其是当源文档很大时。 –
正确,尤其是因为'//'(选择后代)和'/'(选择直接子元素)之间的功能差异与您的XML无关。 – kjhughes