java xpath 如何获取特定节点的所有不同数据
java xpath how to get all data different of specific node
我想让节点车的所有节点都不同。
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList nodes = (NodeList) xpath.evaluate("//car", document, XPathConstants.NODESET);
如何设置:
NodeList nodes = (NodeList) xpath.evaluate(!"//car", document, XPathConstants.NODESET);
在XPath
字符串前添加感叹号不起作用。实际上,对于 Java,XPath
表达式只是一个 String
:它的内容不会被 Java 本身解释,而是由 XPath
库解释使用。
因此,这里唯一的解决办法就是修改XPath
里面的表达式 the String
.
您可以按照以下方式进行:
NodeList nodes = (NodeList) xpath.evaluate("//*[name() != 'car']", document, XPathConstants.NODESET);
解释: //*[name() != 'car'
的意思是:查找文档中所有名称不是'car'
的节点
我想让节点车的所有节点都不同。
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList nodes = (NodeList) xpath.evaluate("//car", document, XPathConstants.NODESET);
如何设置:
NodeList nodes = (NodeList) xpath.evaluate(!"//car", document, XPathConstants.NODESET);
在XPath
字符串前添加感叹号不起作用。实际上,对于 Java,XPath
表达式只是一个 String
:它的内容不会被 Java 本身解释,而是由 XPath
库解释使用。
因此,这里唯一的解决办法就是修改XPath
里面的表达式 the String
.
您可以按照以下方式进行:
NodeList nodes = (NodeList) xpath.evaluate("//*[name() != 'car']", document, XPathConstants.NODESET);
解释: //*[name() != 'car'
的意思是:查找文档中所有名称不是'car'