通过xpath在xml中查找相邻节点

kol*_*osy 3 xml xpath

我有一个深层嵌套的结构(实际上解析出xhtml,所以很多讨厌),像这样:

<tr>
  <td>
    <font id="blah">
      stuff
    </font>
  </td>
</tr>
<tr>
  <td>
      more stuff
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

这在长桌上重复.我需要一个xpath表达式来选择第二个字体标签(或者更确切地说是它text()).我正在看preceding-sibling轴,但有些东西不是很正常.

一些东西(并原谅我,如果这是荒谬的,我的xpath生锈)

//tr[preceding-sibling::tr/td/font]/td/text()
Run Code Online (Sandbox Code Playgroud)

Dim*_*hev 5

用途:

(//tr/td[font])[2]/font/text()
Run Code Online (Sandbox Code Playgroud)

这意味着:

选择文档中具有子项font的第二个子项的所有元素的所有文本节点子项,并且它本身是某个元素的子项.tdfonttr

如您所见,不需要preceeding.