我看到很多类似的帖子,他们都谈到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");
}
答案 0 :(得分:1)
如果没有<div>
个代码类等于content
的代码,则找不到任何内容,并且您拥有null
。这是设计的。
更新:您没有将数据加载到HtmlDocument
。您有doc
实例与您正在加载的数据无关。使用Load
方法返回的文档:
HtmlDocument doc = web.Load(url);