适用于 java 的 xpath 2.0 可能

Posted

技术标签:

【中文标题】适用于 java 的 xpath 2.0 可能【英文标题】:xpath 2.0 for java possible 【发布时间】:2011-10-01 05:39:28 【问题描述】:

我应该为 XPath 使用什么包?我想查询元素,然后在这些节点周围提取一些值。也许更高一级或多级,一些属性。

javax.xml.xpath 是 XPath 1.0。 javax.xml.xpathorg.w3c.dom 是正确的方法,还是有更现代的实现? org.w3c.dom 很尴尬,JDOM 好像容易多了。

【问题讨论】:

如果您想要 XPath 2.0,您需要将外部实现添加到您的类路径中。从 2.0 开始你需要什么? 这种方式我还不知道。这是一个非常通用的工具,可以接受 xPath 作为输入。所以我想要一些对未来有益的东西。也许是贾克森? 在这种情况下,为什么要从标准运行时库中的 XPath 1.0 开始并首先使其工作? 好问题,+1。请参阅我的答案以了解两种可能使用的工具。 【参考方案1】:

您可以考虑使用基于 Java 的 XPath 2.0 或 XQuery 实现(XSLT 2.0 选项提供了更强大的功能),例如 Saxon 9.x

Saxon 是开源的,并且是迄今为止质量最高的基于 Java 的处理器之一,我每天在回答 SO XSLT/XPath/XQuery 问题时都在使用它。在文档中,您会找到很好的代码示例。

我知道的唯一独立 XPath 2.0 实现是 PsychoPath,但我不确定它的质量和可用性。

【讨论】:

有什么变化吗,还有其他选择吗?努力寻找有关该主题的任何内容。 @IgorG。我不知道该领域有任何新玩家。现在有 XPath 3.0 和 3.1,但这些通常包含在 XSLT 或 XQuery 处理器中,例如 Saxon、BaseX、Marklogic 等。最好有一个独立的 XPath 3 处理器。

以上是关于适用于 java 的 xpath 2.0 可能的主要内容,如果未能解决你的问题,请参考以下文章

查找 XML 文档中的所有命名空间声明 - xPath 1.0 与 xPath 2.0

Jmeter提取器-正则,json,xpath,边界值提取器

Java中的“switch”语句是不是仅适用于整数? [复制]

是否有适用于 Mac OSX 的本机 Java AOT?

sh Bash模板。可能适用于中等或更多涉及的脚本。

.Net 2.0 的微 ORM? [关闭]