我在eclipse中有这个代码
NodeSet nodes = (NodeSet) xPath.evaluate(expression,inputSource, XPathConstants.NODESET);
Run Code Online (Sandbox Code Playgroud)
它给我在NodeSet上的编译时错误.
这些是我导入的东西.你能告诉我为什么这样做吗?
import javax.xml.xpath.*;
import org.xml.sax.InputSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.*;
Run Code Online (Sandbox Code Playgroud) 玩弄后position()白白我周围的Googling的解决方案,并来到这个旧的计算器问题这几乎描述了我的问题.
区别在于我希望其中的位置是动态的,而不是文档的连续部分.
为了说明我将修改链接问题中的示例以符合我的要求.请注意,每个<b>元素都在不同的<a>元素中.这是关键的一点.
<root>
<a>
<b>zyx</b>
</a>
<a>
<b>wvu</b>
</a>
<a>
<b>tsr</b>
</a>
<a>
<b>qpo</b>
</a>
</root>
Run Code Online (Sandbox Code Playgroud)
现在,如果我查询,使用XPath,a/b我将得到四个<b>节点的节点集.然后我想找到包含该字符串的节点的该节点集内的位置'tsr'.另一篇文章中的解决方案在这里分解:count(a/b[.='tsr']/preceding-sibling::*)+1返回1因为preceding-sibling导航文档而不是上下文节点集.
是否可以在上下文节点集中工作?