【问题标题】:java xpath how to get all data different of specific nodejava xpath如何获取与特定节点不同的所有数据
【发布时间】:2020-09-16 14:18:51
【问题描述】:

我想获得与节点汽车不同的所有节点。

XPath xpath = XPathFactory.newInstance().newXPath();
        NodeList nodes = (NodeList) xpath.evaluate("//car", document, XPathConstants.NODESET);

如何设置类似:

NodeList nodes = (NodeList) xpath.evaluate(!"//car", document, XPathConstants.NODESET);

【问题讨论】:

    标签: java xpath nodelist


    【解决方案1】:

    XPath 字符串前面添加感叹号不起作用。实际上,对于 Java,XPath 表达式只是一个 String:它的内容不会由 Java 本身解释,而是由您正在使用的 XPath 库解释。

    因此,这里唯一的解决方案是修改XPath表达式inside String

    你可以这样做:

    NodeList nodes = (NodeList) xpath.evaluate("//*[name() != 'car']", document, XPathConstants.NODESET);
    

    解释: //*[name() != 'car' 意思是:查找文档中名称不是'car'的所有节点

    【讨论】:

      猜你喜欢
      • 2016-02-05
      • 2015-10-29
      • 2018-09-22
      • 1970-01-01
      • 2023-03-27
      • 2023-03-23
      • 1970-01-01
      • 2023-03-26
      • 2017-02-24
      相关资源
      最近更新 更多