0

プルパーサー(org.xmlpull.v1.XmlPullParser)を使用して大きなXMLドキュメントを解析しています。特定のノードに到達したら、そのノードとそのすべての子をテキストのチャンクとして取得し(または、子だけでも問題ありません)、文字列として保存します。これを達成するための効率的な方法は何でしょうか?(本質的に)より良いものはありbuffer.append('<').append(xpp.getName()).append('>')ますか?

これが例です

<root id="root">
    <node>
      <grab-all-inside>
          <!-- bunch of nodes, attributes etc. that needs to be saved as text -->
      </grab-all-inside>
    </node>
    <node>
      <grab-all-inside>
          <!-- bunch of nodes, attributes etc. that needs to be saved as text -->
      </grab-all-inside>
    </node>
    <node>
      <grab-all-inside>
          <!-- bunch of nodes, attributes etc. that needs to be saved as text -->
      </grab-all-inside>
    </node>
</root>

PS他のパーサーや手法を使用したほうがよいと思われる場合は、提案を受け付けています。補足として、これらのテキストチャンクは、ある時点で抽出および解析されることを前提として、dbにシリアル化されます。

4

1 に答える 1

1

私はあなたのappend()電話がそれが得るのと同じくらい良いと思う。これらは、プルパーサーの個々のイベントです。

これがXMLリソースの場合は、代わりに文字列リソースの使用を検討してください。Android 1.6以降では、軽いHTMLマークアップを含めることができます。また、文字列として扱われるだけで、任意のマークアップを含めることができる可能性があります。まだ試していません。または、各ノードのコンテンツのrawリソースを作成し、すべてを文字列として読み込みます。

于 2010-08-07T22:26:22.023 に答える