繁体   English   中英

xpath条件选择一个节点或另一节点的文本

[英]xpath condition select text of one node or another node

这是我的测试数据

<tbody>
  <tr>
    <td>foo 1</td>
    <td>first interest</td>
    <td>bar 1</td>
  </tr>
  <tr>
    <td>foo 2</td>
    <td>
      <p>second interest</p>
    </td>
    <td>bar 2</td>
  </tr>
  <tr>
    <td>
    </td>
    <td>
    </td>
    <td>
    </td>
  </tr>
</tbody>

我想每次选择表行第二个单元格( td[2] )的文本,但问题是该文本可以在另一个子元素中(第p段)。

当我执行这个xpath时//tbody/tr[1]/td[2]/p/text() | //tbody/tr[1]/td[2]/text() //tbody/tr[1]/td[2]/p/text() | //tbody/tr[1]/td[2]/text()结果还可以,但是如果我对第二行执行//tbody/tr[2]/td[2]/p/text() | //tbody/tr[2]/td[2]/text() //tbody/tr[2]/td[2]/p/text() | //tbody/tr[2]/td[2]/text()然后得到三个文本,第一个和最后一个为空。 如何修改xpath以便每次仅获取我感兴趣的文本。注意:也可能有一个我不想获取的空单元格。

谢谢

尝试使用此XPath从必需的(不是空秒)表单元格中获取文本:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM