0

我想在以下 HTML 的每一行中选择 text() 。但是,我想要的文本要么在td元素中,要么在p元素中,所以我必须编写两个语句来确保选择每一行。

如何将这两个语句合二为一?

路径:

//table/tr/td[not(p)]/text() | //table/tr/td/p/text()

得到所需的结果:

['1', '2', '3', '4']

原始html:

<table>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>
      <p>2
    </td>
  </tr>
  <tr>
    <td>3</td>
  </tr>
  <tr>
    <td>
      <p>4
    </td>
  </tr>
</table>
4

1 回答 1

0

可能你想要这样的东西:

//table/tbody/tr/td//text()[normalize-space()]

将找到所有非纯空白文本节点的一层或多层//table/tr/td

于 2012-06-02T19:21:33.543 回答