从Nodelist中按名称获取节点

时间:2012-10-15 08:41:04

标签: java xml dom

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

到目前为止,我有:

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

这个问题是最后一个item(0)总是得到错误的节点。如何按名称(String)而不是int获取节点?

1 个答案:

答案 0 :(得分: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));