2

いくつかの xml テンプレートを xml データ (および場合によってはファイル) のさまざまなストリームに適用する必要がありますが、そこには Java 用の xml ライブラリが多数あるようです。それらがアクティブな他のオプションとどのように異なるか、およびいずれかを選択する際に考慮すべき基準は何ですか。

Java で xml を操作するためにどのライブラリを使用していますか? また、なぜそれが他のライブラリよりも優れているのですか?

4

6 に答える 6

9

saxon は xslt および xquery パーサーです -- http://saxon.sourceforge.net/。これは、有名な xslt の専門家 (xslt 仕様委員会に参加し、本を執筆している) によって作成されました。オープンソース版と商用版があります。

それ(xsltピース)は継続的に改善されます。
Java のもう 1 つの xslt ツールは、もちろん XALAN です。

xml -- たくさんあります。注目に値する (何年にもわたって十分にテストされている) もの
1) jdk xml パーサー -- dom、sax、stax
2) xerces : apache から
3) XOM -- DOM が機能しない場合
4) JDOM -- 以前の人気のあるものの 1 つオープン ソース ツール
5) JAXB -- 現在 JDK 6 に組み込まれています
6) woodstox -- 優れた xml プロセッサ (読み取り/書き込み) -- http://woodstox.codehaus.org/

于 2008-10-21T02:08:37.267 に答える
2

XML処理用のJava APIであるJAXPについては誰も言及していません。デフォルトのxmlライブラリ実装を備えたjdkを使用して、箱から出してすぐに利用できます。

于 2008-10-23T05:00:57.340 に答える
2

ドキュメント全体をメモリにロードしたい/ロードできるかどうかを決定する必要があります。大きなドキュメントの場合は、 saxパーサーを参照することをお勧めします。これは、大きなドキュメントに適しています。それ以外の場合は、dom パーサーを調べることをお勧めします。

于 2008-10-20T23:41:35.800 に答える
1

Wrt "JAXP": これは、DOM または SAX パーサー インスタンスを作成するための非常に単純なラッパーです。そしてJDKが同梱する実装がXercesです。したがって、それ自体は代替手段ではありません。前述の「JDKパーサー」を構築するための標準APIです。XSLT の場合、Saxon は Xalan より厳密に優れています。機能的に、スピード的に (2x)。JAXB v2 はデータ バインディングに適しており、Stax (Woodstox) はストリーミングに最適です。

于 2009-01-26T07:42:30.657 に答える
0

XML解析(DOM)とXSDに対する検証にXercesを使用しています。

XSLT処理にはXalanを使用しましたが、3年前なので、多くの変更が必要でした。私の記憶では、使いやすく強力でした(数Moの入力XMLファイルを使用していました)

于 2008-10-21T09:18:24.763 に答える
0

カスタム メモリとパフォーマンス効率の高い POJO-2-xml シリアライゼーション ソリューションを実装するために StAX プル パーサーを使用してきましたが、結果には非常に満足しています。JDK6 にバンドルされているため、実行するために追加の依存関係は必要ありません。

于 2009-06-15T13:55:04.453 に答える