我想构建一个 XML 文件作为数据存储。它应该看起来像这样:
<datastore>
<item>
<subitem></subitem>
...
<subitem></subitem>
</item>
....
<item>
<subitem></subitem>
...
<subitem></subitem>
</item>
</datastore>
在运行时,我可能需要将项目添加到数据存储区。项目的数量可能很高,因此我不想将整个文档保存在内存中并且不能使用 DOM。我只想写发生变化的部分。还是 DOM 支持这个?
我第一次看 StAX,但我不确定它是否符合我的要求。
在根元素关闭之前记住文件末尾的光标位置不是最好的吗?这始终是添加新项目的位置。因此,如果我记得那个位置并在更改期间保持最新,我可以在最后添加一个新项目,而无需遍历整个文件。
也许第二个游标可以独立于第一个游标使用,以迭代文档仅用于阅读目的。
我看不到 StAX 支持任何这些,是吗?
没有基于块的文件API而不是基于流的API吗?文件和文件系统不是块“设备”的典型示例吗?如果有这样的 API,它对我的问题有帮助吗?
提前致谢。