gpt4 book ai didi

java - 斯塔克斯 : How start to parse from a certain position of XML file?

转载 作者:行者123 更新时间:2023-11-30 11:49:20 26 4
gpt4 key购买 nike

我有一个非常大的 XML 文件 (500Mb)。在这种情况下是否可以跟踪最后解析的元素的位置?所以,比如说,如果我已经成功解析了一半或者 jvm 突然崩溃了,我可以立即从我上次离开的位置开始。

最佳答案

您大概可以编写某种形式的历史存储来包含您解析之前的结构;但是我怀疑要从那一点继续解析​​,您必须关闭解析器上的所有形式的验证——XML 旨在保证文档的结构和内容从头到脚;它并不是真正为临时解析而设计的。

在您的情况下,您仍然需要能够提供某种形式的上下文 - 也许通过将当前工作元素树保存在内存中,将其与相关的 header 信息连接起来并进行解析,就好像您正在重新开始一个新的文件;只提交未完成的内容而不是整个文件。

例如,给定 XML 结构:

<root>
<child id="1">
<subchild id="1'/>
</child>
<child id="2'>
<subchild id="2"/>
<subchild id="3"/>
<child/>

如果您的解析器在解析 <child id="1"/> 后崩溃,您需要制作一个包含 <root> 的新伪文档元素,并注意在恢复处理时您已经解析了子元素 1 - 以防出现任何依赖性问题。

关于java - 斯塔克斯 : How start to parse from a certain position of XML file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8428831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com