XPath - 从子值中查找父级

时间:2015-05-16 10:23:33

标签: xml xpath

需要xpath查询来查找元素所有元素c的元素t值为"字符串在这里"

<f>
  <c>john</c>
  <cr>100</cr>
  <lb>
    <l num="1">
      <d>12-FEB-2015</d>
      <ts>
        <t>string goes here</t>

尝试了几种

- "./c[./t=""string goes here""]"

1 个答案:

答案 0 :(得分:1)

你应该选择

"//c[.//t[.='string goes here']]"

说明:

  • //c一个c元素,与树中的位置无关。
  • .//t带有子t元素,无关紧要

这里的重要概念是.轴,代表当前的背景;在.//t中,它跟踪父元素上下文,在其中查找t个元素。

如果t元素位置是不可变的,您也可以这样做:

"//c[lb/l/tr/t[.='string goes here']]"