考虑这段最简单的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;
namespace WebScraper
{
class Program
{
static void Main(string[] args)
{
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("http://www.google.com");
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
}
}
}
}
这实际上根本没有做任何事情,并且是从诸如此类的各种其他 StackOverflow 问题中复制/启发的。编译时出现运行时错误,提示“对象引用未设置为对象的实例”。突出显示 foreach 行。
我不明白,为什么环境对这段不起眼、无辜和无用的代码变得烦躁。
我也想知道,HTMLAgilityPack 是否接受 HTML 类作为节点?