我有这样的事情:<div id="m0">... <tr> <td></td> <td></td> <td>Radio</td> </tr></div><div id="m1">...<tr> <td></td> <td></td> <td> <a>TV channel</a> <font color="#555555">...</font> </td></tr><tr> <td></td> <td></td> <td> <i> </i> </td></tr><tr> <td></td> <td></td> <td> <i> Other channel </i> </td></tr>我想得到这个结果: ['Radio','TV Channel',' ','Other channel]我试过这样做: ch_nodes=tree.xpath('//div[@id="%s"]/table[@class= "fl"]/tr/td[3]/descendant-or-self::*'%div)之后,对于每个节点,我都会得到文本,但它给了我不想要的节点,例如<font>内容。我也试过这个:ch_nodes=tree.xpath('//div[@id="%s"]/table[@class= "fl"]/tr/td[3]/descendant-or-self::*[2]'%div)但是如果没有子节点,它不会给我自我内容。我怎样才能得到['Radio','TV Channel',' ','Other channel]?
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
从tr
以下位置获取每个第一个文本节点:
$x("//table//tr//*[1]/text()")
如果您想从以下位置获取每个第一个非空文本节点tr
:
$x("//table//tr//*[boolean(string-length(normalize-space(text())))][1]/text()")
添加回答
举报
0/150
提交
取消