Androidでアプリを開発していますが、xmlファイルをトラバースする必要があります。
xmlをトラバースする必要があります-指定された位置から前後に移動します。これは、ファイルの解析を開始することを意味しますが、各瞬間に停止して逆方向に進むか、続行することができます。
私はDOMを使用することを考えていました。そのサイクルで、DOMを制御し、やりたいことを実行できました。しかし、私が解析したいxmlファイルには少なくとも8 Mbがあり、DOMは非常にメモリを消費するため、良い解決策ではないようです。
この問題の解決策は、解析のためにドキュメント全体をロードしないことでした。ドキュメントをいくつかの部分に分割し、1つの部分だけをメモリにロードして解析するのが好きです。このパートの終わりに来たら、別のパートをロードします。巻き戻したいときも同じです。
私の質問は、ファイルをいくつかの部分に分割する方法を教えてください。それはxmlファイルであり、子はすべて同じサイズではないので?
例えば:
<root>
<child time="A">
<sub1>1</sub1>
<sub2>2</sub2>
</child>
<child time="B">
<sub1>3</sub1>
</child>
<child time="C">
<sub2>4</sub2>
</child>
</root>
ご覧のとおり、子のサイズはさまざまであり、このようなファイルを効率的な方法でいくつかの部分に分割する方法がわかりません。
誰かが私に手がかりを与えることができますか?
よろしくお願いします。