java - 批量运行xpath表达式

标签 java xml xpath batch-processing

我们有很多 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/

相关文章:

java - 导入错误 : Org. Hibernate.SessionFactory 等

java - 应用程序无法启动 Activity 组件信息(Android)

java - 无法解析导入javax.mail

sql - SELECT 查询以从 xml 数据类型中获取子元素

python - 用于提取两个已知 div 之间的所有内容的 Xpath

xslt - 测试 ="element[@attribute]"在 XSLT 中起什么作用?

java - 有没有更好的方法在Spring客户端实现中并发调用REST API?

json - 未知内容类型 : json How to load JSON document as XML in MarkLogic 8

C# - 来自 XML 的目录结构

html - 通过xpath选择器从html标记列表中选择特定的html标记