6

リモートサーバーからのxmlファイルからデータを初めて解析するアプリケーションを開発しています。

しかし、どのパーサーが効率的であるか、または解析に最適であるかを選択することはできません。私が知っている構文解析には主に3つのタイプがあるので:

  1. サックス
  2. XMLPullParsing
  3. DOM

データを解析するのに最適なパーサーはどれですか?Googleで検索したところ、上記のパーサーの正と負の両側が見つかりました。しかし、どちらが最も効率的かを判断できませんでした。

XMLには、多数のタグを含む大量のデータが含まれています。

アプリケーションで初めて構文解析を使用するときに、どのパーサーを使用する必要があるかを教えてください。

4

4 に答える 4

18

SAX解析は、DOMよりも実装するのに最適です。次の2つの違いを参照してください。

DOM

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

サックス

  • イベントのシーケンス。
  • 大きなドキュメントに適したメモリは使用しません。
  • 上記の点により、実行時の速度が速くなります。
  • オブジェクトが作成されます。
  • オブジェクトを作成するためのコードを書く必要があります。
  • SAXでは、ドキュメントを順番に処理するため、後方ナビゲーションはできません。
于 2013-03-25T06:10:55.277 に答える
9

すべてのXMLパーサーのSaxパーサーは最速なので、間違いなくそれを実行できます.... XMLからデータを読み書きする必要がある場合は、DOMを使用できます。SAXパーサーを使用すると、XMLからのみデータを読み取ることができます。これら2つはリストの一番上にあるため、XMLPullparserについて考える必要はありません。

于 2013-03-25T06:24:16.897 に答える
1

XMLPullParsingと言いますが、最近Xercesについて素晴らしいことを聞いたので、Xercesもそれを調べたいと思うかもしれません。ただし、Xercesを使用したことはなく、XMLPullParserが失敗したことはありません。私たちはそれを使用した色覚異常のアプリを構築し、それはあなたがちょうど写真を撮った色をあなたに伝えるために何千もの色のコンボを引き出します。

更新:ここに、:pを読んでもかまわない場合に読むためのいくつかのリンクがあり、両側に短所と特典が表示されます

http://www.firstobject.com/xml-reader-sax-vs-xml-pull-parser.htm

また、SAXパーサーとXMLPullパーサーを比較するためのもう1つの答え

于 2013-03-25T06:14:26.613 に答える
0

Androidのドキュメントで言及されているように、XMLPullParserは適切なオプションだと思います。

于 2015-04-30T09:24:22.243 に答える