这是我正在尝试解析的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);
}
这个foreach只打印一次,它就是整个表格。我在谷歌的各个地方搜索过,XPath表达式应该是正确的。你能弄明白问题是什么吗?
答案 0 :(得分:0)
您的代码是正确的。如果您尝试仅解析给定的代码段,程序将输出:
TD: 14/02/2012 TD: 16:25 TD: Entregue TD: 13/02/2012 TD: 16:59 TD: Destinatário ausente ou fechado TD: 11/02/2012 TD: 14:09 TD: Envio recolhido na origem TD: - TD: - TD: Pendente de entrega à MRW
我认为这就是你想要的。问题出在您的原始文档中。尝试在其他软件工具中打开文档,它将显示完整的DOM树,您将看到。可能你必须修改你的XPath表达式。