2012-03-20 4 views
1

大規模なxmlファイルを使用するアプリケーションを作成したいと考えています。また、それは修正し、理想的には逆行することができます。私のAndroid AppのXMLパーサーにはどうすればよいですか?

SAX、DOM、およびXMLプルパーサーがあります。実行可能に見えないオブジェクトのツリーを自分自身で作成するのにメモリを費やさない限り、プル・パーサは外にあります。 SAXとDOMは、私が欲しいことをすることができる別のパーサがない限り、そのままです。非常にありそうもない、私は知っている。 はい、私はこの答えを見ました:https://stackoverflow.com/questions/7498616/which-xml-parser-should-i-use-for-android DOMを使用することなく使い勝手のようなツリーを持つことについての考え方はありますか?

答えて

0

XMLの解析には多くのオプションがあります。しかし、それはあなたがいつ使うことができるかというあなた自身の要求に依存します。そのためには、パーサの基本的な違いを知る必要があります。ここに私が提供したいくつかの基本的な情報があります。

SAXパーサはパーサがXMLツリーを歩くようにコードが通知された1、 ですし、状態を追跡し、あなたはパーサとしてデータを追跡することができます任意のオブジェクトを構築するための責任があります行進。

DOMパーサはドキュメント全体を読み込み、さまざまな要素をクエリできるインメモリ表現を構築します。しばしば、XPathクエリーを作成して特定の部分を取り出すことさえできます。

あなたは大きなファイルを持っていると言いました。また、より高速なパフォーマンスが必要な場合は、StAXパーサーを使用することをお勧めします。ここにはlinkがあります。

希望これは

また、このlinkを参照してください...あなたを助けるでしょう。

+1

ありがとうございます。私はStAXを見ていきます。 – user1281598

0

DOMは、一度にすべてのXMLを読み込むほとんどの場合に適しています。しかし、XMLのサイズが非常に大きい場合は、毎回XMLの先頭からタグを読み取るSAXパーサに移動する必要があります。

XMLが本当に大きい場合は、要求の要件を送信してサーバー側からフィルタするほうがよいでしょう。さもなければ、わかりやすいページ付けを行うことができます。

関連する問題