HtmlAgilityPack - Auswahl mehrerer Knoten

html-agility-pack linq windows-phone-8.1

Frage

Da es keine offizielle Version von HtmlAgilityPack für windows phone 8.1 or WinRT , kann manuell auf die DLL SelectNodes() , um die SelectNodes() Funktion SelectNodes() wo ich einen XPATH als Parameter übergeben kann.

Ich suche nach einer ähnlichen Linq-Abfrage, mit der ich abhängig vom Klassennamen des Knotens mehrere Knoten auswählen kann. In Plain English möchte ich alle Knoten in einer HtmlNodeCollection wobei der Knoten mit div beginnt und die class dieses div XXX ist.

Akzeptierte Antwort

Übersetzt aus Ihrem Satz in den LINQ-Ausdruck von HtmlAgilityPack:

var result = doc.DocumentNode
                .Descendants()
                .Where(o => o.Name.StartsWith("div") 
                                && 
                            o.GetAttributeValue("class", "") == "XXX");

oder erwähnen Sie einfach, dass Sie nur an <div> Knoten interessiert sind:

var result = doc.DocumentNode
                .Descendants("div")
                .Where(o => o.GetAttributeValue("class", "") == "XXX");

Oben wird IEnumerable<HtmlNode> anstelle von HtmlNodeCollection , aber das ist nicht HtmlNodeCollection IMHO.




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