java xml按id搜索元素
我们可以使用dom解析器在xml文件中按id搜索元素吗,例如:
<root>
<context id="one">
<entity>
<identifier>new one</identifier>
</entity>
</context>
<context id="two">
<entity>
<identifier>second one</identifier>
</entity>
</context>
</root>
我想要一个id为“one”的节点,我的代码
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new File("filename.xml"));
Element ele = document.getElementById("one");
返回null
还有别的办法吗
# 1 楼答案
可以使用JDK/JRE中的
javax.xml.xpath
API通过XPath查找元素示例
# 2 楼答案
尝试使用XML-Xpath表达式,这非常简单