【发布时间】:2013-02-04 19:08:46
【问题描述】:
我有一张这样的桌子
<table border="0" cellpadding="0" cellspacing="0" id="table2">
<tr>
<th>Name
</th>
<th>Age
</th>
</tr>
<tr>
<td>Mario
</td>
<th>Age: 78
</td>
</tr>
<tr>
<td>Jane
</td>
<td>Age: 67
</td>
</tr>
<tr>
<td>James
</td>
<th>Age: 92
</td>
</tr>
</table>
并且想使用 HTML Agility Pack 来解析它。我试过这段代码无济于事:
foreach (HtmlNode row in doc.DocumentNode.SelectNodes("//table[@id='table2']//tr"))
{
foreach (HtmlNode col in row.SelectNodes("//td"))
{
Response.Write(col.InnerText);
}
}
我做错了什么?
【问题讨论】:
-
你能描述一下什么不起作用吗?
-
我得到一个无限循环
-
它对我有用(嗯,不完全是,我得到的名字 Mario/Jane/James 重复了 4 次)。请注意,'//td' 不仅仅从当前节点中选择(如您所料)而是从 DocumentNode 中选择。您使用的是哪个版本的 HtmlAgilityPack?
-
嗯,看起来像您的 .NET 版本。您是否通过 NuGet 获得了 HtmlAgilityPack?
-
你是对的这是版本:1.4.6.0
标签: c# .net html-agility-pack