我有一个由HtmlAgilityPack编码的程序,但无法正常工作。 Url和节点是正确的。但它有一个错误,指的是foreach。
错误是
对象引用未设置为对象的实例。
以前工作过。我删除HtmlAgilityPack DLL并再次添加它。但是不起作用。 我需要访问标签的href。
我的代码是:
string source = wc.DownloadString("http://example.com");
HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(source);
foreach (HtmlNode div in
document.DocumentNode.SelectNodes("//div[@class='test']/a"))
{
//do something
}
答案 0 :(得分:0)
感谢Ulugbek Umirov,这是您的代码,是一个空引用检查:
string source = wc.DownloadString("http://example.com");
HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(source);
var documentNode = document.DocumentNode;
if ( documentNode!=null )
{
var nodes = documentNode.SelectNodes("//div[@class='test']/a");
if ( nodes!=null )
{
foreach (HtmlNode div in nodes)
{
// Do something...
}
}
}