Windows Phone Silverlight 8.1的Html解析

时间:2014-10-01 15:03:16

标签: c# html silverlight parsing windows-phone-8.1

我正在为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);,则会收到错误消息,指出我错过了使用声明。你能帮帮我吗?

1 个答案:

答案 0 :(得分:-1)

您错过了使用声明。这首先是错误告诉你的。

尝试

new HtmlAgilityPack.HtmlWeb().Load(html);

或添加

using HtmlAgilityPack;

在您的课程顶部,带有其他参考资料。