我正在尝试增强jOOX API,使其能够对JDom文档进行操作,而不仅仅是org.w3c.dom.Document
。我想知道是否有任何库实现了org.w3c.dom
的接口,而不是重复一切,同时包裹JDom?
注意,我不是在寻找org.jdom.output.DOMOutputter
,它将JDom文档转换为DOM文档。我怀疑频繁的转换会非常缓慢。我正在寻找一个使用JDom类实现w3c dom的包装器。
答案 0 :(得分:5)
作为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项目中尚未正式支持 ....但它足够有用且功能齐全。