4

SAXパーサーまたはトランスフォーマーを使用してXMLをある形式から別の形式に変換できますか?もしそうなら、正確な違いは何ですか?

編集::SAXTransformerFactoryを使用して作成したトランスフォーマーを意味します

4

2 に答える 2

2

SAXパーサーを使用すると、Java内でXMLドキュメントを解析できます。すべての要素、文字シーケンスなどに対してコールバックします。これを使用して、XMLの一部またはすべてを表すオブジェクトツリーを構築したり、その他の機能を実行したりできます。

他のタイプのパーサーが存在します。DOMパーサーは、XMLドキュメントのツリーベースのオブジェクト表現を提供します。これらは各パーサータイプの長所/短所です(DOMは通常、より多くのメモリを消費するという特徴がありますが、XMLの完全なモデルを提供しますが、SAXは軽量ですが、パーサー自体からコールバックされ、モデルをナビゲートできませんXMLの)

私は少し漠然としています。XMLトランスフォーマーですが、XSLTを意味していると思います。これはスタイルシート変換であり、より高いレベルで動作し、変換(スタイルシート)を入力XMLに適用し、出力(通常はXMLに限定されません)を提供します。

編集:あなたのコメントに続いて、この記事を参照してください:

最後に、xmlドキュメントを文字列またはファイルに書き込みたいと思うかもしれません。これは、トランスフォーマーファクトリにあるTransformerオブジェクトを使用して行うことができます。

于 2012-09-05T15:01:20.780 に答える
0

比較:

SAXを使用する場合:http : //docs.oracle.com/javase/tutorial/jaxp/sax/when.html および

DOMを使用する場合:http: //docs.oracle.com/javase/tutorial/jaxp/dom/when.html

参照:http ://docs.oracle.com/javaee/1.4/tutorial/doc/JAXPXSLT4.html

SAXはイベントベースのXMLの読み取り/書き込み用であり、Transformerは既に解析されたXMLを操作するために使用されると思います。

于 2012-09-05T15:09:58.607 に答える