Ich versuche, einen Onlinekalender zu analysieren, damit die Ereignisse auf diesem Kalender in meiner plattformübergreifenden App angezeigt werden. Dies ist der Code, den ich bisher habe.
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");
Der Fehler, den ich bekomme, ist:
"'Task HtmlDocument' enthält keine Definition für 'DocumentNode' und keine Erweiterungsmethode 'DocumentNode', die ein erstes Argument vom Typ 'Task HtmlDocument' akzeptiert, könnte gefunden werden (fehlt eine using-Direktive oder eine Assembly-Referenz?"
Ich habe HtmlAgilityPack mit dem NuGet-Paket-Manager in Xamarin installiert, so dass es in meinen Referenzen für das gesamte Projekt enthalten ist und ich verwende "HtmlAgilityPack;" Ich habe die HAP im Objektbrowser angesehen und es gibt eindeutig eine "DocumentNode" -Eigenschaft, weshalb ich verwirrt bin, warum es nicht denkt, dass es da ist.
Ich weiß nicht, was ich vermisse, bitte hilf mir.
Sie müssen warten, wenn Sie eine asynchrone Methode aufrufen
// htmlDoc is a Task<HtmlDocument>
var htmlDoc = web.LoadFromWebAsync(html);
// htmlDoc is a HtmlDocument
var htmlDoc = await web.LoadFromWebAsync(html);