在 C# 中使用 HtmlAgilityPack 为跨平台 Xamarin 应用程序解析 html
Parsing html using HtmlAgilityPack in C# for a cross-platform Xamarin app
我正在尝试解析在线日历,以便在我的跨平台应用程序中显示该日历上发布的事件。这是我到目前为止的代码。
var html = @"http://html-agility-pack.net/";
HtmlWeb web = new HtmlWeb();
HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument();
var htmlDoc = web.LoadFromWebAsync(html);
HtmlNodeCollection node=htmlDoc.DocumentNode.SelectSingleNode("//body");
我得到的错误是:
"'Task HtmlDocument' 不包含 "DocumentNode' and no extension method 'DocumentNode' accepting a first argument of type 'Task HtmlDocument' could be found (are you missing a using directive or an assembly reference?"
的定义
我在 Xamarin 中使用 NuGet 包管理器安装了 HtmlAgilityPack,所以它在我对整个项目的引用中,我正在使用 "using HtmlAgilityPack;" 我在对象浏览器中查看了 HAP,显然有一个 "DocumentNode"属性 这就是为什么我对为什么它不认为存在感到困惑。
我不知道我缺少什么,请帮忙。
调用异步方法时需要使用await
// htmlDoc is a Task<HtmlDocument>
var htmlDoc = web.LoadFromWebAsync(html);
// htmlDoc is a HtmlDocument
var htmlDoc = await web.LoadFromWebAsync(html);
我正在尝试解析在线日历,以便在我的跨平台应用程序中显示该日历上发布的事件。这是我到目前为止的代码。
var html = @"http://html-agility-pack.net/";
HtmlWeb web = new HtmlWeb();
HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument();
var htmlDoc = web.LoadFromWebAsync(html);
HtmlNodeCollection node=htmlDoc.DocumentNode.SelectSingleNode("//body");
我得到的错误是:
"'Task HtmlDocument' 不包含 "DocumentNode' and no extension method 'DocumentNode' accepting a first argument of type 'Task HtmlDocument' could be found (are you missing a using directive or an assembly reference?"
的定义我在 Xamarin 中使用 NuGet 包管理器安装了 HtmlAgilityPack,所以它在我对整个项目的引用中,我正在使用 "using HtmlAgilityPack;" 我在对象浏览器中查看了 HAP,显然有一个 "DocumentNode"属性 这就是为什么我对为什么它不认为存在感到困惑。
我不知道我缺少什么,请帮忙。
调用异步方法时需要使用await
// htmlDoc is a Task<HtmlDocument>
var htmlDoc = web.LoadFromWebAsync(html);
// htmlDoc is a HtmlDocument
var htmlDoc = await web.LoadFromWebAsync(html);