Html Agility Pack中的SelectNode返回Null

时间:2013-12-18 10:57:10

标签: c# html html-agility-pack

我看到很多类似的帖子,他们都谈到SelectSingleNode返回null。我不太确定我的问题与此有关。也许我遇到了一些我无法弄清楚的问题。这是我的代码:

string url = "https://www.google.com/#q=nothing";    
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
web.Load(url);
var nodes = doc.DocumentNode.SelectNodes("//div[@class='content']");
if (nodes != null) {
    foreach(HtmlNode item in nodes) {
        if (item != null) {
            string s = item.InnerText;
            listView1.Items.Add(s);
        }
    }
} else {
    MessageBox.Show("Nothing found here");
}

1 个答案:

答案 0 :(得分:1)

如果没有<div>个代码类等于content的代码,则找不到任何内容,并且您拥有null。这是设计的。

更新:您没有将数据加载到HtmlDocument。您有doc实例与您正在加载的数据无关。使用Load方法返回的文档:

HtmlDocument doc = web.Load(url);