我正在尝试增强jOOX API,使其还可以对JDom文档进行操作,而不仅仅是org.w3c.dom.Document
. 我没有复制所有内容,而是想知道是否有任何库实现 的接口org.w3c.dom
,同时包装JDom?
请注意,我不是在寻找org.jdom.output.DOMOutputter
,它将 JDom 文档转换为 DOM 文档。我怀疑频繁的转换会非常缓慢。我正在寻找一个包装器,它使用 JDom 类实现 w3c dom。
作为 JDOM 2.x 项目的一部分,我将其完全放在一起。它是 DOM 格式的 JDOM 的只读包装器。它足够全面,可以通过本机 javax.xml.xpath 以及 Xalan XPath 引擎运行 JDOM……我已将它广泛用作 JDOM 2.x 测试工具的一部分。
因此,如果您使用的是 JDOM 2.0.0,您可以使用“contrib”部分中的 DOM 代码覆盖 JDOM 实例。
这不是官方支持的 JDOM 代码,但对于您的目的来说它可能已经足够了。
请参阅https://github.com/hunterhacker/jdom/tree/master/contrib/src/java/org/jdom2/contrib/dom处的代码
典型用法是:
org.w3c.dom.Document domdoc = org.jdom2.contrib.dom.DOM.wrap(jdomdoc);
返回的 domdoc 中的所有 DOM 节点也实现了 org.jdom2.contrib.dom.Wrapper 接口,因此,例如,您可以说:
org.jdom2.Element emt = (org.jdom2.Element)((Wrapper)node).getWrapped();
org.jdom2.Document doc = (org.jdom2.Document)((Wrapper)domdoc).getWrapped();
此代码在 JDOM 项目中(尚未)得到官方支持......但它足够有用且功能齐全。