2

私は、jOOX APIを拡張して、JDomドキュメントだけでなくJDomドキュメントでも動作できるようにしようとしていorg.w3c.dom.Documentます。すべてを複製する代わりに、 JDomorg.w3c.domをラップしながら、のインターフェイスを実装するライブラリがあるかどうか疑問に思いました。

org.jdom.output.DOMOutputterJDomドキュメントをDOMドキュメントに変換するを探しているわけではないことに注意してください。頻繁な変換は非常に遅いと思います。JDomクラスでw3cdomを実装するラッパーを探しています。

4

1 に答える 1

6

JDOM 2.xプロジェクトの一環として、私はまさにそれをまとめました。これは、DOM形式のJDOMの読み取り専用ラッパーです。ネイティブのjavax.xml.xpathとXalanXPathエンジンの両方でJDOMを実行するのに十分な包括性があります。私は、JDOM2.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 に答える