[英]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
的内部表达String
。
你可以这样做:
NodeList nodes = (NodeList) xpath.evaluate("//*[name() != 'car']", document, XPathConstants.NODESET);
解释: //*[name() != 'car'
意思是:查找文档中名字不是'car'
所有节点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.