我有这样的想法:
<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)
但是如果没有子节点,就不会给我self内容。你知道吗
如何获得['Radio','TV Channel',' ','Other channel]
?你知道吗
从
tr
获取每个第一个文本节点:$x("//table//tr//*[1]/text()")
如果要从
tr
获取每个第一个非空文本节点:$x("//table//tr//*[boolean(string-length(normalize-space(text())))][1]/text()")
相关问题 更多 >
编程相关推荐