XPath 식에 일치하는 노드가 하나만 있는지 확인하기 위해 Xpath 식을 사용하는 방법을 알아 내려고합니다. 다음은 몇 가지 샘플 XML입니다 : =XPath 수식을 사용하여 if 문을 평가하려면 어떻게해야합니까?
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
try {
XPathExpression expr = xpath.compile("count(//a/b/c)"));
} catch (XPathExpressionException e) {
printErr(e);
}
if (expr == true) {
// edit XML node
}
가정으로 부울을 반환 카운트 표현을위한 방법이 : 그래서
<a>
<b>
<c>X:1 Y:0</c>
<c>X:1 Y:0</c>
<c>X:2 Y:0</c>
</b>
<b>
<c>X:1 Y:0</c>
<c>X:2 Y:0</c>
</b>
</a>
,이 유사한 코드를 시도했지만 작동하지 않습니다 사실. 어떻게해야합니까?
몇 가지 문제가 예에서 "n"을 처리하는 방법을 알아내는 데. – djangofan
죄송합니다. 파일을 파싱 할 때 Document를 얻는다. XPath 표현식을 사용하여 특정 노드를 얻거나 document.getDocumentElement()를 호출하면된다. 'DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); doc = builder.parse (새 파일 (파일 이름)); 노드 n = doc.getDocumentElement(); ' – Kennet
작품!Kennet에게 감사드립니다 !! – JRichardsz