将org.w3c.dom.Element转换为org.dom4j.Element

时间:2018-10-26 11:31:12

标签: java xpath dom4j

我想使用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

2 个答案:

答案 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。这样你就可以吃蛋糕了。