【发布时间】:2015-02-08 10:24:24
【问题描述】:
我在解析 HTML 文件时需要帮助。我是 C# 和 LINQ 的新手,我尝试的一切都未能成功提取“链接”和“名称 1”
<tr class="Row">
<td width="80">
<div align="left"> <a href="link">details</a>
</div>
</td>
<td width="152">Name 1</td>
<td width="151">Name 2</td>
<td width="152">Name 3</td>
<td width="151">Name 4</td>
<td width="151">Name 5</td>
<td width="152">Name 6</td>
</tr>
<tr class="Row">
<td width="80">
<div align="left"> <a href="link">details</a>
</div>
</td>
<td width="152">Name 1</td>
<td width="151">Name 2</td>
<td width="152">Name 3</td>
<td width="151">Name 4</td>
<td width="151">Name 5</td>
<td width="152">Name 6</td>
</tr>
这是我尝试过的:
var links = htmlDoc.DocumentNode.Descendants()
.Where(n => n.Name == "tr")
.Where(x => x.Attributes["class"] != null && x.Attributes["class"].Value == "Row")
.Select(x => x.Descendants()
.Where(s => s.Name == "href"));
foreach (var link in links)
{
Debug.WriteLine(link);
}
【问题讨论】:
-
你在使用 Html Agility Pack 吗?
-
我正在使用 HtmlAgilityPack-PCL
-
检查答案,如果有不清楚的地方告诉我
-
.Where(s => s.Name == "href") 应该是 .Where(s => s.Name == "a" && a.Attributes["href"]!=空)
标签: c# linq parsing html-parsing