我想弄清楚如何使用Xpath表達式來驗證在XPath表達式中只有一個匹配節點。下面是一些示例XML:如何使用XPath計數表達式來評估if語句?
<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>
所以,我想類似這樣的代碼,但它不工作:
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
}
有所謂的計數表達式返回布爾的方式=真的。我如何得到這個?
遇到了一些麻煩搞清楚如何處理您的例子中,「N」。 – djangofan 2012-07-22 20:48:14
對不起。當您解析文件時,您將獲得一個Document,您可以使用XPath表達式來獲取某個節點,或者只需調用document.getDocumentElement()。 'DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); doc = builder.parse(new File(filename)); 節點n = doc.getDocumentElement();' – Kennet 2012-07-23 07:22:44
作品!感謝Kennet! – JRichardsz 2016-06-28 21:02:52