当尝试用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"。

当尝试用htmlagiltypack加载html时出错

尝试从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)之前访问它的值