如何按节点/元素名称迭代XML

时间:2017-02-10 14:42:05

标签: java xml dom sax

有没有办法可以按照这样的名称迭代节点/元素:

<rootnode>
  <foo>
    <bar>
      stuff
    </bar>
 ....


document.getDocumentElement.getElement("foo").getElement("bar").getValue();

1 个答案:

答案 0 :(得分:2)

我认为XPath应该可以解决问题。

如果您已将文档解析为org.w3c.dom.Document

String expression = "/rootnode/foo/bar";
NodeList nodeList = (NodeList)   xPath.compile(expression).evaluate(document, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++) {
    System.out.println(nodeList.item(i).getFirstChild().getNodeValue()); 
}