【发布时间】:2011-12-14 13:39:58
【问题描述】:
我正在用 C# 制作一个项目,它基本上是一个用于图像搜索相关游戏的图像屏幕抓取工具。我正在尝试使用 HTMLAgilityPack 选择所有图像元素并将它们放在 HTMLNodeCollection 中,如下所示:
//set up for checking autos
HtmlNodeCollection imgs = new HtmlNodeCollection(doc.DocumentNode.ParentNode);
imgs = doc.DocumentNode.SelectNodes("//img");
foreach (HtmlNode img in imgs)
{
HtmlAttribute src = img.Attributes["@src"];
urls.Add(src.Value);
}
注意 urls 是一个公共的 List 集合:
public List<string> urls = new List<string>();
我的 foreach 循环抛出异常:
对象引用未设置为对象的实例。
检查汽车,果然,imgs 为空。有没有更好的方法可以追踪这个问题的根源?我不知道是我的 Xpath 还是什么。
最令人沮丧的部分是我已经让它工作了,但是弄乱了我的文件版本并丢失了我的工作。得了。
【问题讨论】:
-
你在哪里加载
HtmlDocument....你使用的是Load()还是LoadHtml()
标签: c# html regex xpath html-agility-pack