JavaプロジェクトにXML処理フレームワークを選択しようとしていますが、名前がわかりません。XOM、JDOMなど。人気のあるすべてのプロジェクトの詳細な比較を見つけることができます。 Java XMLフレームワーク?
ブレイズが指摘したように、基準に固執する。しかし、さまざまな問題/ユースケースを解決するために、期間中に作成された複数の標準があります。どちらを選択するかは、要件によって異なります。以下の比較が正しいものを選択するのに役立つことを願っています。
今、あなたが選ばなければならない2つのものがあります。 [〜#〜] api [〜#〜]およびAPIの実装 (沢山あります)
SAX:長所
SAX:短所
DOM:長所
DOM:短所
Stax:長所
Stax:短所
JAXB:長所
JAXB:短所
Trax:XSLTを使用してXMLを1つのフォームから別のフォームに変換する場合
SAX、DOM、Stax、JAXBは単なる仕様です。多くの これらの仕様のオープンソースおよび商用実装 があります。ほとんどの場合、JDKまたはアプリケーションサーバーに付属しているものに固執することができます。ただし、デフォルトで提供されている別の実装を使用する必要がある場合があります。そして、ここで JAXPラッパーAPI を評価できます。 [〜#〜] jaxp [〜#〜]を使用すると、コードを変更することなく、構成を通じて実装を切り替えることができます。また、XMLドキュメントの解析、変換、検証、クエリを行うためのパーサー/仕様に依存しないAPIも提供します。
さまざまな実装のパフォーマンスとその他の比較
現在、標準は優れていますが、サイズが100ギガバイトのXMLドキュメントの解析をサポートする必要があるこのクレイジーなユースケースに遭遇することがあります。 XMLの超高速処理(XMLパーサーチップを実装している可能性があります)。これは、標準をダンプして別の方法を探す必要がある場合です。物事を行うことの。適切な仕事に適切なツールを使用することについてです!そして、これは私があなたに見てみることを提案するところです vtd-xml
SAXとDOMの初期の頃、人々はどちらかによって提供されるよりも単純なAPIを望んでいました。 [〜#〜] jdom [〜#〜] 、 dom4j 、 XmlBeans 、 JiBX 、 Castor 人気になったのは私が知っているものです。
@ Pangea
JAXBはDOMやSAXと直接比較することはできません。 Java DOMおよびSAX解析APIはXMLドキュメントを解析するための低レベルのAPIであり、JAXB(XMLバインディング用のJava API)はXML要素と属性をa =に変換するための高レベルのAPIです。 Javaオブジェクト階層(およびその逆)。JAXBの実装では、ほとんどの場合、バックグラウンドでDOMまたはSAXパーサーを使用して、XML入力データの実際の解析を行います。