首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个.evaluate调用,XPath Java

多个.evaluate调用,XPath Java
EN

Stack Overflow用户
提问于 2016-10-20 04:13:49
回答 1查看 266关注 0票数 0

我有一个带有通用路径前缀的XPath表达式列表。例如,我可能有如下内容:

代码语言:javascript
复制
Elements/Bills/Amount/USD
Elements/Id

我要做的是首先获得所有的元素节点,然后,对于给定的节点,检查它是否包含我想要的两个数据点(我需要从顶部开始检查每个节点)。像node.get(/Bills/Amount/USD), node.get(/Id)这样的东西将是完美的。但是,在编译和执行Elements(xPath.compile(Elements).evaluate(doc, XPathConstants.NODESET);).

EN

回答 1

Stack Overflow用户

发布于 2016-10-20 05:44:29

在后续对evaluate()的调用中传递node。第一个调用是使用文档作为“上下文”(https://msdn.microsoft.com/en-us/library/ms256199(v=vs.110).aspx,这意味着xml文档的根被认为是上下文)(基本上就是搜索开始的地方)。

一旦我有了一个节点,我就把它和路径的剩余部分一起传递给下一次对evaluate()的调用。

第一次调用(返回Elements列表):

代码语言:javascript
复制
xPath.compile("Elements").evaluate(doc, XPathConstants.NODESET)

第二个调用(返回当前Element节点的子节点的所有USD元素):

代码语言:javascript
复制
xPath.compile("./Bills/Amount/USD").evaluate(node, XPathConstants.NODESET) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40140704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档