java - 可恢复的 XML 解析

标签 java xml xml-parsing

我有一个解析大量 XML 的数据导入工具(它使用 SAX 解析器,但适应是我遇到的最少的问题)。发生故障、新部署、系统重启,我不想完全重新开始,所以我需要不时保存解析器状态(如果需要,我们可以将其称为 XML 游标)。

是否有任何解析器能够保存它们的状态并恢复它们(显然我必须在恢复时也搜索文件)?

我还没有找到这样的解析器,所以我对此表示怀疑,所以这是我的第二个问题:您对我应该如何开始实现它有什么建议吗?采用 SAX 解析器实现并深入挖掘,或者我最好从头开始?

如果重要的话,我需要 xml 命名空间,但不需要模式/DTD 检查。

游标还可以派上用场,用于预解析 xml 和分配并行处理的工作。

最佳答案

真的取决于内容,你能不能写一个 XQuery 来明确地找到文件中的一个节点。

例如 <Item id="1000"/>

如果在成功解析节点后保留它,那么当您恢复时将其传入(null 等于从第一个开始)。然后移动到目标节点,移动到下一个,并在y va上。

关于java - 可恢复的 XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757094/

相关文章:

objective-c - AFNetworking 获取 XML 解析错误的数据

c - EZXML 解析器 C 和 UTF-8 字符集

java - 运行 Servlet 时收到错误消息(第 1 行 : Incorrect syntax near 'password' .)

JAVA XML - 如何获取 XML 节点中的特定元素?

java - 使用 java 解析器删除 XML 节点

java - 使用 Jersey JAX-RS 进行复杂的解编码(列表列表)

java - 有没有办法让构造函数在 Java 中返回一个 == null 的对象?

java - 缩放 EditText 而不损失质量?

糟糕的 if-else 或 switch 结构的 Java 替代方案

xml - xpath:修剪节点中的空格