java - VTD-XML:如何不从根元素执行 XPath 查询

标签 java xml xpath vtd-xml

我需要处理大型 XML 文件,因此我决定从 DOM 解析器迁移到 VTD-XML。

当我使用 Java 的 DOM 解析器时,我可以从任何节点而不是从根节点评估 XPath 查询。看XPath.evaluate原型(prototype):

Object evaluate(String expression,
                Object item,
                QName returnType)
                   throws XPathExpressionException

Object item 是起始上下文(例如,节点)。这非常有用。

但我找不到在 VTD-XML 中执行相同操作的方法。我已经阅读了它的API并阅读了很多示例,例如this one ,但任何地方的查询都是从根执行的。

如何做到这一点?

最佳答案

好吧,看来我明白了:实际上,XPath 查询总是相对于当前 VTDNav 的光标位置执行。

查看this example ,查找“嵌套 XPath 支持”部分。

关于java - VTD-XML:如何不从根元素执行 XPath 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14176020/

相关文章:

java - 如何在java中使用dom解析器按属性获取元素

selenium - 不同浏览器的xpath是否不同?

java - 无法将 Firebase 添加到我的 Android Studio

java - equals 方法重载时的行为如何?

javascript - Blogger 搜索标签条件语句

python - 如何在 Selenium 中选择表格单元格中的所有文本

javascript - 我的 WP 应用程序具有不受我控制的外部依赖项,我该如何解决问题而不重新提交到市场?

java - ServiceBus JAVA SDK高级重新加载错误,ServiceLoader(不是子类型)

java - Java中汉字(UTF-8编码)的模式匹配

xml - 我可以使用xpath设置属性名称的值吗?