没有“复杂表达式”的xpath匹配

时间:2015-11-27 20:15:09

标签: xml xpath

假设以下XML

<project>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.5</version>
    </dependency>
  </dependencies>
</project>

我正在尝试选择属于<version>4.10</version>的节点junit

我已成功使用xpath测试器选择元素,使用表达式:

/project/dependencies/dependency/artifactId[text()='junit']/../version

但是,我正在使用的库似乎无法识别..父选择器。

我也试过

/project/dependencies/dependency/artifactId[text()='junit']/following-sibling::version

也适用于我的测试人员,但同样,这是一个复杂的表达式(因此following-sibling::)。

有没有办法可以使用简单的 r 表达式来选择这个元素?

1 个答案:

答案 0 :(得分:2)

先使用谓词:/project/dependencies/dependency[artifactId = 'junit']/version