我们有很多 xpath 表达式,需要针对很多文档运行,我想加快速度。 目前,我们加载文档并运行所有 xpath。如果有 1000 个文档和 1000 个 xpath,则大约需要 1,000,000 次运行。我相信每个 xpath 都从根节点开始遍历 xml(尽管我不确定它是如何在库中实现的)。我想做一些类似于批处理 xpath 运行的操作,其中只需一次 xml 遍历即可评估所有 1000 个 xpath。换句话说,对于 1 个文档,只需要一次 xml 遍历即可评估 1000 个 xpath。是否已经实现了类似的东西并且它甚至可以加速 xpath 执行?
编辑: 我输入的唯一内容是 xpath 列表和 xml 文档列表。由于它们可以由用户动态添加/删除,因此我主要寻找一种在运行时对 xpath 进行分组的解决方案(不要在预配置中执行此操作,即使它可能有助于加快框架提供的 xpath 的速度)。
最佳答案
我建议将数据放入 XML 数据库,例如 BaseX 或 eXist。这些产品构建索引,用于加速查询执行。建立索引是有成本的,但是超过 1000 个查询应该多次保存。
关于java - 批量运行xpath表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31558240/