我有一个解析大量 XML 的数据导入工具(它使用 SAX 解析器,但适应是我遇到的最少的问题)。发生故障、新部署、系统重启,我不想完全重新开始,所以我需要不时保存解析器状态(如果需要,我们可以将其称为 XML 游标)。
是否有任何解析器能够保存它们的状态并恢复它们(显然我必须在恢复时也搜索文件)?
我还没有找到这样的解析器,所以我对此表示怀疑,所以这是我的第二个问题:您对我应该如何开始实现它有什么建议吗?采用 SAX 解析器实现并深入挖掘,或者我最好从头开始?
如果重要的话,我需要 xml 命名空间,但不需要模式/DTD 检查。
游标还可以派上用场,用于预解析 xml 和分配并行处理的工作。
最佳答案
真的取决于内容,你能不能写一个 XQuery 来明确地找到文件中的一个节点。
例如 <Item id="1000"/>
如果在成功解析节点后保留它,那么当您恢复时将其传入(null 等于从第一个开始)。然后移动到目标节点,移动到下一个,并在y va上。
关于java - 可恢复的 XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757094/