2

我正在尝试增强jOOX API,使其还可以对JDom文档进行操作,而不仅仅是org.w3c.dom.Document. 我没有复制所有内容,而是想知道是否有任何库实现 的接口org.w3c.dom,同时包装JDom

请注意,我不是在寻找org.jdom.output.DOMOutputter,它将 JDom 文档转换为 DOM 文档。我怀疑频繁的转换会非常缓慢。我正在寻找一个包装器,它使用 JDom 类实现 w3c dom。

4

1 回答 1

6

作为 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 项目中(尚未)得到官方支持......但它足够有用且功能齐全。

于 2012-04-18T13:37:14.783 回答