Ich muss einen Weg finden, um ein Objekt aus HTML-Datei mit Xpath oder HTML-Selektoren zu finden.
Da Selektoren im HTML Agility Pack nicht unterstützt werden, versuche ich XPath zu verwenden.
Leider scheint SelectSingleNode (string somexpathvalue) in Xamarin Forms nicht verfügbar zu sein. HtmlNode enthält keine Definition davon.
Ich habe in NuGet festgestellt, dass ich System.Xml.XPath nicht installiert habe. Wenn ich es versuche, sehe ich einen Fehler:
Schweregrad Beschreibung Projektdatei Zeilenunterdrückungsstatus Fehler Paket 'System.Xml.XPath 4.0.0' konnte nicht installiert werden. Sie versuchen, dieses Paket in einem Projekt zu installieren, das auf .NET Portable, Version = v4.5, Profile = Profile111, abzielt. Das Paket enthält jedoch keine Assemblyverweise oder Inhaltsdateien, die mit diesem Framework kompatibel sind. Wenden Sie sich an den Autor des Pakets, um weitere Informationen zu erhalten. 0
Gibt es eine Möglichkeit, SelectSingleNode ohne System.Xml.Xpath zu verwenden?
Nein. Die Html Agility Pack (HAP) XPath-Unterstützung basiert auf der .NET XPath-Implementierung, die in System.Xml.XPath * verfügbar ist, und System.Xml.XPath selbst verfügt nicht über eine Version für Xamarin.Forms.
Ihre Optionen könnten die Implementierung von Funktionen sein, die auf XPath in den entsprechenden plattformspezifischen Projekten basieren (vorausgesetzt, Sie verwenden derzeit den portablen Xamarin.Forms-Projektansatz) oder die LINQ-API von HAP anstelle von XPath zum Ausführen der Abfrage verwenden. Ich glaube, dass die meisten, wenn nicht alle Abfragen, dass Sie in XPath schreiben können, in LINQ übersetzt werden können.
*) Antwort vom Autor von HAP: https://Stackoverflow.com/a/15941723/2998271
**) Beispiel XPath zu LINQ Übersetzung: HtmlAgilityPack mit Linq für Windows Phone 8.1 Plattform