当尝试用htmlagiltypack加载html时出错
本文关键字:html 出错 加载 htmlagiltypack | 更新日期: 2023-09-27 17:50:19
我正在尝试运行这段代码
string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(path);
var div = htmlDoc.DocumentNode.Descendants("div");
foreach (var x in div)
{
Console.WriteLine(x.Attributes["class"].Value);
}
当我在htmlDoc.LoadHtml(path);
中调试这段代码时,我得到了这个错误
查找来源' d: ' SVN_CHECKOUT ' htmlagilitypack '树干' htmlagilitypack ' HtmlDocument.cs"。校验和:MD5 {4e 14 d3 b d5 30 6e 2c bf 84 ab 8a 96 82 4a 8f}文件' d: ' SVN_CHECKOUT ' htmlagilitypack '树干' htmlagilitypack ' HtmlDocument.cs"不存在。在脚本文档中寻找' d: ' SVN_CHECKOUT ' htmlagilitypack '树干' htmlagilitypack ' HtmlDocument.cs"……在项目中寻找' d: ' SVN_CHECKOUT ' htmlagilitypack '树干' htmlagilitypack ' HtmlDocument.cs"。在项目中找不到该文件。查找目录"C:'Program"Files (x86)'Microsoft Visual Studio 12.0'VC'crt'src''…在目录"C:'Program Files (x86)'Microsoft Visual Studiocrt ' src ' vccorlib ' 12.0 ' VC '"……查看目录"C:'Program Files (x86)'Microsoft Visual Studio 12.0'VC'atlmfc'src'mfc'"…在目录"C:'Program Files (x86)'Microsoft Visual Studio12.0 ' VC ' atlmfc ' src ' atl '"……查看目录"C:'Program Files (x86)'Microsoft Visual Studio 12.0'VC'atlmfc'include"…调试活动解决方案的源文件设置表明调试器不会要求用户查找文件:d: ' SVN_CHECKOUT ' htmlagilitypack ' ' htmlagilitypack ' HtmlDocument.cs树干。调试器无法定位源文件' d: ' SVN_CHECKOUT ' htmlagilitypack '树干' htmlagilitypack ' HtmlDocument.cs"。
尝试从URI加载html文档是不正确的。
方法HtmlDocument.LoadHtml
从字符串中加载html,所以它的参数是html文本本身,而不是URI。
要从提供的URI加载html,您需要这样做:
string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlWeb().Load(path);
也注意你可以在这里得到NullReferenceException
:
x.Attributes["class"].Value
因为你没有检查是否有class
属性(x.Attributes["class"] != null
)之前访问它的值