使用C#中的HtmlAgilityPack解析html,以獲得跨平台的Xamarin應用程序

c# html-agility-pack xamarin

我正在嘗試解析在線日曆,以便在我的跨平台應用程序中顯示該日曆上顯示的事件。這是我到目前為止的代碼。

 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“的定義,並且沒有擴展方法'DocumentNode'接受類型'Task HtmlDocument'的第一個參數可以找到(你是否缺少using指令或彙編引用?)

我使用Xamarin中的NuGet包管理器安裝了HtmlAgilityPack,所以它在我對整個項目的引用中,我正在使用“使用HtmlAgilityPack;”我在對象瀏覽器中查看了HAP,並且顯然有一個“DocumentNode”屬性,這就是為什麼我很困惑為什麼它不認為有。

我不知道我失踪了什麼,請幫忙。

一般承認的答案

調用異步方法時需要使用await

// htmlDoc is a Task<HtmlDocument>
var htmlDoc = web.LoadFromWebAsync(html);

// htmlDoc is a HtmlDocument
var htmlDoc = await web.LoadFromWebAsync(html);


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow