これらはより多くの解析手法であり、実際の解析ツールではありません。Xerces は解析ツールの一例です。
SAX は、速度と解析イベント処理に適しています。イベントからの解析により、興味のないイベントを簡単にスキップできます。スキップした場合のペナルティは低くなります。ドキュメント全体が読み取られている間は、ドキュメントを保存する必要がないため、SAX はシステム メモリよりも大きなドキュメントを処理できます。
DOM は、ドキュメント全体をメモリに保持するのに適しています。そうすることで、ドキュメントのすべての要素を必要とする作業 (相互参照など) を簡単に行うことができます。この便利さには代償が伴います。SAX とは異なり、ドキュメント全体を保持するのに十分なメモリが必要です。
JDOM は基本的に DOM ですが、プログラミング インターフェイスが異なります。それが何を意味するにせよ、そのプログラミング インターフェイスは Java とより一致していると思われます。
JAXP は、SAX および DOM インターフェースをプラグ可能な方法で含む XML 処理ツールのスイートであり、バックエンドの実装を簡単に交換できます。
JAXB は、XML から通常の Java オブジェクトへの便利なマッピング、および通常の Java オブジェクトからの XML の生成を提供する一連の XML 処理ツールです。
個人的には SAX が好きですが、SAX で効率的に解析するには、スタックと、スタックにプッシュされスタックからポップされるコンテキスト依存のパーサー チャンクを使用して、XML がマップされたオブジェクトを生成する必要があります。アイデアは、ドキュメント内の位置を StringBuffer として維持し、ハンドラーをプッシュして入力要素を処理し、適切な終了イベントが検出されるまですべてのイベントを処理するというものです。次に、上記のハンドラーは、ポップされたサブハンドラーからオブジェクトを読み取ります。このような手法には少し手間がかかりますが、SAX の速度と DOM の利便性を橋渡しして、(「ノード」のツリーではなく)独自のオブジェクト ツリーを作成できます。