2

我试图通过它的名称而不是它的索引来获取节点,item(i)因为Document我正在阅读的节点并不总是每次都在同一个地方,但节点的名称总是相同的。我正在尝试获取节点<reference>

到目前为止,我有:

System.out.println("Current Reference: " + 
    configurationDocument.getElementsByTagName("Parent").
        item(0).getChildNodes().item(0));

这样做的问题是最后一个item(0)总是得到错误的节点。如何通过 name ( String) 而不是 by获取节点int

4

1 回答 1

2

使用 XPath 获取您感兴趣的节点。像这样:

XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression xpr = xpath.compile("//Parent/name-of-item/name-of-item");
System.out.println(xpr.evaluate(configurationDocument, XPathConstants.STRING));
于 2012-10-15T08:55:45.707 回答