HTML Agility Pack在页面上获取所有锚点的href属性

时间:2014-09-05 15:03:27

标签: c# html-agility-pack

我正在尝试将从HTML文件中提取的链接添加到CheckBoxListcbl_items)。

它到目前为止工作但不是链接,项目的名称显示为HtmlAgilityPack.HtmlNode。 我尝试使用DocumentElement代替Node,但它说它不存在或类似。

如何显示网址而不是HtmlAgilityPack.HtmlNode?

这是我迄今为止所尝试过的:

HtmlWeb hw = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc = hw.Load(tb_url.Text);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
  cbl_items.Items.Add(link);
}

1 个答案:

答案 0 :(得分:23)

您要将HtmlNode 对象添加到CheckBoxList,而不是href属性的值。您看到的是HtmlNode的{​​{1}}值,因为ToString()可以显示该对象的最佳值。

相反,您可以使用CheckBoxList来检索GetAttributeValue(string attribute, string defaultValue)属性的值。

href