2014-09-05 54 views
14

我想将从HTML文件中提取的链接添加到CheckBoxListcbl_items)。HTML敏捷包获取所有锚的'href属性页

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

如何获取要显示的URL而不是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); 
} 

回答

16

您要添加的HtmlNode对象CheckBoxList而不是href属性的值。你看到的是HtmlNodeToString()值,因为这是CheckBoxList可以做的最好的显示对象。

取而代之,您可以使用GetAttributeValue(string attribute, string defaultValue)来检索href属性的值。

​​
+1

不要忘记,如果没有节点匹配,请允许'SelectNodes'(令人生畏)返回'null'。 – 2017-12-17 17:14:27