我想使用javax.xml.xpath
XPath API进行XML读写。
我的整个应用程序都使用dom4j元素,现在javax.xml.xpath
API不接受org.dom4j.document
。因此,我已使用以下代码将这些文档转换为org.w3c.dom.Document
org.w3c.dom.Document w3cDom = new DOMWriter().write(doc);
我已经使用过API的评估功能,并且节点类型为org.w3c.dom
由于我的其他代码与dom4j完全相关,所以有什么方法可以将org.w3c.dom。(节点或元素)转换为org.dom4j。(节点或元素)?
PS:-我不想使用dom4j.XPath,因为它在内部调用jaxen.jar
答案 0 :(得分:1)
使用dom4j DOMReader.read()
方法:
org.w3c.dom.Document w3cDom = new DOMWriter().write(doc);
org.dom4j.io.DOMReader reader = new DOMReader();
org.dom4j.Document document = reader.read(w3cDoc);
或使用DOMReader.readElement()
方法。
答案 1 :(得分:1)
Saxon提供了JAXP XPath API的实现,该API能够直接读取DOM4J树,而无需转换为DOM。这样你就可以吃蛋糕了。