[英]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.