XPath / C# not returning what's expected
本文关键字:expected what not returning XPath | 更新日期: 2023-09-27 18:29:18
这是我试图解析的HTML。我想得到每个单独的td内部文本。
<tbody>
<tr class="past">
<!--<th><span class="place">Lugar</span></th>-->
<td class="date">14/02/2012</td>
<td class="hour">16:25</td>
<td class="status">Entregue</td>
</tr>
<tr class="past">
<!--<th><span class="place">Lugar</span></th>-->
<td class="date">13/02/2012</td>
<td class="hour">16:59</td>
<td class="status">Destinatário ausente ou fechado</td>
</tr>
<tr class="past">
<!--<th><span class="place">Lugar</span></th>-->
<td class="date">11/02/2012</td>
<td class="hour">14:09</td>
<td class="status">Envio recolhido na origem</td>
</tr>
<tr class="past">
<!--<th><span class="place">Lugar</span></th>-->
<td class="date">-</td>
<td class="hour">-</td>
<td class="status">Pendente de entrega à MRW</td>
</tr>
</tbody>
我使用这段代码来运行这个表上的每个td:
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//tbody/tr/td"))
{
Console.WriteLine("TD: " + link.InnerText);
}
这个前臂只打印一次,它就是整张桌子。我在谷歌上搜索过所有地方,XPath表达式应该是正确的。你能弄清楚问题出在哪里吗?
您的代码是正确的。若你们试图只解析一段给定的代码,程序会输出这个:
时间:2012年2月14日时间:16:25TD:Entregue时间:2012年2月13日时间:16:59TD:目的地;里约热内卢时间:2012年2月11日时间:14:09TD:Envio recolhido na origemTD:-TD:-TD:Pendente de entregaàMRW
我想这就是你想要的。问题出现在您的原始文档中。尝试在其他软件工具中打开文档,该工具将显示完整的DOM树,您会看到。有问题的是,您将不得不修改XPath表达式。