HTML mit HtmlAgilityPack in C # für eine plattformübergreifende Xamarin App analysieren

c# html-agility-pack xamarin

Frage

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.

Akzeptierte Antwort

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);


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum