我正在 Android 中开发一个应用程序,我需要遍历一个 xml 文件。
我需要从给定位置来回遍历 xml。这意味着我开始解析文件,但在每一刻我都可以停下来倒退或继续。
我正在考虑使用 DOM,通过它的 for 循环,我可以控制它并做我想做的事。但是我要解析的 xml 文件至少有 8 Mb,并且由于 DOM 非常占用内存,因此似乎不是一个好的解决方案。
解决此问题的方法是不加载整个文档进行解析。喜欢将文档分成几部分,只将一部分加载到内存中并解析。当我结束这部分时,我加载另一个。当我想倒带时也是如此。
我的问题是,我怎样才能将文件分成几部分。因为它是一个 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>
如您所见,他们的孩子有不同的大小,我不知道如何以有效的方式将这样的文件分成几个部分。
谁能给我一个线索?
最好的祝福。