7

上記の4つのタイプ(SAXPaser、XPath、DOM、XMLPullParse)の違いと、それぞれをいつ使用する必要があるかを知りたいです。

4

3 に答える 3

9

SAX 解析は、DOM よりも実装するのに最適です。これら 2 つの違いを以下で確認してください。

ドム

ノードはツリー構造メモリの形式です: より多くのメモリを占有し、小さな XML ドキュメントの場合にのみ DOM が優先されます 実行時は遅くなります オブジェクトとして格納されます プログラム的に簡単に実装できます ナビゲーションと使用が容易です。

サックス

イベントのシーケンス 大きなドキュメントに適したメモリを使用しません。上記の点により、実行時の速度が向上します。オブジェクトが作成されます。オブジェクトを作成するためのコードを記述する必要がある SAX では、ドキュメントを順次処理するため、後方ナビゲーションは不可能です

したがって、非常に大きなファイルがある場合は、SAX パーサーを使用する必要があります。これは、イベントを発生させて解放するためです。メモリには何も保存されません。また、SAX パーサーを使用すると、ランダムな方法で要素にアクセスできず、後戻りできなくなります。、しかし Dom では、ファイル/ドキュメント全体がメモリに保持されるため、xml ファイルの任意の部分にアクセスできます。

この記事を参照してください。概要を読むことで、必要なものを取得できます。

また、このリンクをチェックして、さまざまな xml パーサーのパフォーマンスを表示してください

ここに画像の説明を入力

于 2012-05-26T10:49:25.877 に答える
4

以下のリンクを確認してください...

http://steveliles.github.com/comparing_methods_of_xml_parsing_in_android.html

http://xjaphx.wordpress.com/2011/11/01/android-xml-adventure-compare-xml-parsers/

http://www.ibm.com/developerworks/opensource/library/x-android/index.html

http://www.developer.com/ws/android/development-tools/Android-XML-Parser-Performance-3824221-2.htm

http://www.geekinterview.com/question_details/12797

(上記の記事の通り)

XML ドキュメントの解析には、SAX と DOM の両方が使用されます。どちらにも長所と短所があり、状況に応じてプログラミングで使用できます

サックス:

  1. ノードごとに解析します
  2. XML をメモリに格納しない
  3. ノードを挿入または削除できません
  4. 上から下へのトラバース

ドム

  1. 処理前に XML ドキュメント全体をメモリに格納します。
  2. より多くのメモリを占有します
  3. ノードを挿入または削除できます
  4. 任意の方向にトラバースします。

ノードを見つける必要があり、挿入または削除する必要がない場合は、SAX 自体を使用できます。それ以外の場合は、より多くのメモリがあれば DOM を使用できます。

于 2012-05-26T10:16:55.097 に答える
2

ドム

ノードはツリー構造メモリの形式です: より多くのメモリを占有し、小さな XML ドキュメントの場合にのみ DOM が優先されます.XML ドキュメント全体を処理する前にメモリに保存します 実行時は遅くなります オブジェクトとして保存されます プログラム的に簡単に実装できますナビゲーションと使用の、任意の方向に横断できます。ノードを挿入または削除、変更できます。

SAX : XML にアクセスする場合に使用します (XML を変更しない)。

イベントのシーケンス 大きなドキュメントに適したメモリを使用しません。XML をメモリに保存せずに処理を実行します。オブジェクトが作成されます。オブジェクトを作成するためのコードを記述する必要がある SAX では、ドキュメントを順次処理するため、後方ナビゲーションは不可能であり、上から下へトラバースします ノードを挿入または削除することはできません

XPATH: Xpath は、XML ドキュメントからいくつかの値のみが必要で、それらの場所がわかっている場合に役立ちます (data./root/item/challange/text のパスがわかります)。

XMLPullParser: DOM を使用すると高速で必要なメモリが少なくて済みます

ソース: http://www.time2ask.com/ http://www.time2ask.com/Android/The-difference-among-SAX-ParserXPathDOMXMLPullParser/_2361836

于 2013-05-21T13:41:44.150 に答える