将 org.w3c.dom.Element 转换为 org.dom4j.Element
Converting org.w3c.dom.Element to org.dom4j.Element
我想使用 javax.xml.xpath
XPath APIs 进行 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.(Node or Element) 转换为 org.dom4j.(Node or Element) ??
PS:- 我不想使用 dom4j.XPath 因为它在内部调用 jaxen.jar
使用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()
方法。
Saxon 提供了 JAXP XPath API 的实现,它能够直接读取 DOM4J 树,无需转换为 DOM。这样你就可以吃蛋糕了。
我想使用 javax.xml.xpath
XPath APIs 进行 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.(Node or Element) 转换为 org.dom4j.(Node or Element) ??
PS:- 我不想使用 dom4j.XPath 因为它在内部调用 jaxen.jar
使用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()
方法。
Saxon 提供了 JAXP XPath API 的实现,它能够直接读取 DOM4J 树,无需转换为 DOM。这样你就可以吃蛋糕了。