내 XML 파일 내가 XPath를 아래로 시도 office="US"
XPath에서 아무것도 선택하지 않는 이유는 무엇입니까?
조건과 함께 모든 classification-symbol
요소 값을 요구 조건 을 다음과 같이 값을 구문 분석 할
<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>
,
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