HtmlAgilityPack - Sélection de plusieurs nœuds

html-agility-pack linq windows-phone-8.1

Question

Comme il n'y a pas de version officielle de HtmlAgilityPack pour windows phone 8.1 or WinRT HtmlAgilityPack windows phone 8.1 or WinRT , référencer manuellement la dll ne permet pas d'appeler la fonction SelectNodes() où je peux passer un XPATH en paramètre.

Je recherche une requête Linq similaire permettant de sélectionner plusieurs nœuds en fonction du nom de la classe du nœud. En clair , je veux stocker les tous les nœuds d'un HtmlNodeCollection où le noeud commence par div et la class de cette div est XXX.

Réponse acceptée

Traduit de votre phrase en expression LINQ de HtmlAgilityPack:

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

ou mentionnez simplement que vous n'êtes intéressé que par les <div> nœuds:

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

Ci-dessus retourne IEnumerable<HtmlNode> au lieu de HtmlNodeCollection , mais ce n'est pas significatif à HtmlNodeCollection .



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow