2016-05-22 1 views
0

Ich muss einen Weg finden, um ein Objekt aus HTML-Datei mit Xpath oder HTML-Selektoren zu finden.Html Agility Pack: SelectSingleNode und XPath sind nicht verfügbar auf Xamarin Forms Plattform

Da Selektoren im HTML Agility Pack nicht unterstützt werden, versuche ich XPath zu verwenden.

Leider scheint SelectSingleNode (Zeichenfolge somexpathvalue) nicht auf Xamarin Forms verfügbar. HtmlNode enthält keine Definition davon.

Ich habe in NuGet gefunden, dass ich System.Xml.XPath nicht installiert habe. Wenn ich versuche, es zu tun, sehe ich einen Fehler:

Severity Code Description Project File Line Suppression State Error Could not install package 'System.Xml.XPath 4.0.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author. 0

Gibt es eine Möglichkeit, SelectSingleNode ohne System.Xml.XPath verwenden könnte?

Antwort

0

Nein. Html Agility Pack (HAP) Die XPath-Unterstützung basiert auf der .NET XPath-Implementierung, die in System.Xml.XPath * verfügbar ist, und System.Xml.XPath selbst enthält keine 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 using Linq for windows phone 8.1 platform

Verwandte Themen