我有一个DOM Document
(org.w3c.dom
),但我需要能够通过XPath等找到元素。哪个解析器或库可以提供此功能?
答案 0 :(得分:2)
如果您已经有Document
,那么您不需要解析器,因为XML已经被解析了。
javax.xml.xpath
package提供了XPath功能。
答案 1 :(得分:2)
http://download.oracle.com/javase/6/docs/api/javax/xml/xpath/package-summary.html
页面末尾甚至有一个关于如何在DOM文档上使用XPath的示例:
// parse the XML as a W3C Document
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(new File("/widgets.xml"));
XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/widgets/widget";
Node widgetNode = (Node) xpath.evaluate(expression, document, XPathConstants.NODE);
答案 2 :(得分:0)
答案 3 :(得分:0)
我首选的xpath
图书馆是jaxen
。它使用简单,功能强大。样本使用(延期的例外):
List<Node> matchingNodes = new DOMXPath("//myxpath").selectNodes(document);