我正在为Windows Phone 8.1做一个Silverlight项目,我真的无法理解如何解析单个网页。我的代码是这样的:
var html = @"My Web SIte Url";
//It works if the html var contains the actual code and not the url
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(html);
//If i use this line, i get an error on new HtmlWeb()
var htmlDoc = new HtmlWeb().Load(html);
if (htmlDoc.ParseErrors != null && htmlDoc.ParseErrors.Count() > 0)
{
// Handle any parse errors as required
}
else
{
if (htmlDoc.DocumentNode != null)
{
//I'm trying to get the first link for now
HtmlAgilityPack.HtmlNode aNode = htmlDoc.DocumentNode.Descendants("a").FirstOrDefault();
if (aNode != null)
{
string first = aNode.GetAttributeValue("title", "null");
string value = aNode.InnerText;
Console.WriteLine(first);
Console.WriteLine(value);
Console.WriteLine(aNode.OuterHtml);
}
}
}
如果我使用htmlDoc.LoadHtml(html);
,我只有在html
内有html代码才能使用它。如果我使用var htmlDoc = new HtmlWeb().Load(html);
,则会收到错误消息,指出我错过了使用声明。你能帮帮我吗?
答案 0 :(得分:-1)
您错过了使用声明。这首先是错误告诉你的。
尝试
new HtmlAgilityPack.HtmlWeb().Load(html);
或添加
using HtmlAgilityPack;
在您的课程顶部,带有其他参考资料。