HtmlAgilityPack - Selección de múltiples nodos

html-agility-pack linq windows-phone-8.1

Pregunta

Como no hay una versión oficial de HtmlAgilityPack para windows phone 8.1 or WinRT , al hacer referencia manualmente, la DLL no permite llamar a la función SelectNodes() donde puedo pasar un XPATH como parámetro.

Estoy buscando una consulta Linq similar mediante la cual puedo seleccionar varios nodos dependiendo del nombre de clase del nodo. En inglés llano quiero almacenar todos los nodos en una HtmlNodeCollection donde el nodo comienza con div y la class de ese div es XXX.

Respuesta aceptada

Traducido de su oración a la expresión LINQ de HtmlAgilityPack:

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

o simplemente menciona que estás interesado solo en los nodos <div> :

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

IEnumerable<HtmlNode> devuelve IEnumerable<HtmlNode> lugar de HtmlNodeCollection , pero eso no es significativo en mi humilde opinión.




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué