我有这个html表:
<table class="info">
<tbody>
<tr><td class="name">Year</td><td>2011</td></tr>
<tr><td class="name">Storey</td><td>3</td></tr>
<tr><td class="name">Title</td><td><a href="http://gov.kz/premera/">Premier</a></td></tr>
<tr><td class="name">Condition</td><td>Renovated</td></tr>
</tbody>
</table>
在此表中,数据的组织方式使每行包含2个包含在 <td>
标记中的单元格。第一个单元格包含有关数据类型的信例如房屋建造年份。第二个单元格包含年份信息,即2011年。
我正在尝试从第二个单元格中提取信息(它是:2011,3,Premier,Renovated)
我使用这个Xpath表达式:
//table[@class="info"]//td[2]/text()
收到输出(错误):
2011
3
Renovated
期望的输出:
2011
3
Premier
Renovated
正如您在第3行中看到的第二个 <td>
而不仅仅是文本包含链接,因此错过了此行中的信息。所以,期望的字符串&#34; Premier&#34;没收到。
有时行中的单元格包含链接,有时它只是纯文本。在两种情况下(链接或只是给出文本),我有什么办法可以从第二单元格中提取数据吗?
答案 0 :(得分:4)
只需在text()
之前添加第二个正斜杠:
//table[@class="info"]//td[2]//text()
这将从您选择的td