Erb*_*yev 3 html xpath parsing href
我有这个 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>
Run Code Online (Sandbox Code Playgroud)
在此表中,数据的组织方式是每行包含 2 个用<td>标签括起来的单元格。第一个单元格包含有关数据类型的信息。例如房屋的建造年份。第二个单元格包含年份信息本身,即 2011 年。
我正在尝试从第二个单元格中提取信息(它是:2011、3、Premier、Renovated)
我使用这个 Xpath 表达式:
//table[@class="info"]//td[2]/text()
Run Code Online (Sandbox Code Playgroud)
收到的输出(错误):
2011
3
Renovated
Run Code Online (Sandbox Code Playgroud)
期望的输出:
2011
3
Premier
Renovated
Run Code Online (Sandbox Code Playgroud)
正如您<td>在第 3 行中看到的 2-nd而不是仅包含链接的文本,因此会丢失来自该行的信息。因此,未收到所需的字符串“Premier”。有时行中的单元格包含链接,有时它只是纯文本。在这两种情况下(链接或仅给出文本),有什么方法可以从第二个单元格中提取数据?
只需在之前添加第二个正斜杠text():
//table[@class="info"]//td[2]//text()
Run Code Online (Sandbox Code Playgroud)
这将从您选择的所有子节点中获取文本节点 td