obtener texto de un documento html usando HtmlAgilityPack a través de XPath

c# html-agility-pack xpath

Pregunta

He seguido html en un archivo, estoy cargando este archivo en un documento HTMLDocument usando HtmlAgilityPack .

El problema es que solo quiero conseguir Hello World! Usando XPath y no el texto interno.

¿Cómo logro esto?

<ul>
    <li>
        Hello world!
        <ul>
            <li>
                Welcome to planet!
            </li>
        </ul>
    </li>
</ul>

Respuesta aceptada

El XPath:

//ul/li[1]/text()

Debería seleccionar el texto real "¡Hola mundo!"

A continuación, puede seleccionar el valor de este nodo.

En uso:

string text = doc.DocumentElement.SelectSingleNode("//ul/li[1]/text()").Value;

En esencia, lo que esto dice es navegar a un nodo ul, seleccionar el primer li y luego seleccionar el nodo text ().


Respuesta popular

htmlDocument.DocumentNode.SelectNodes("//ul/li").First().FirstChild.InnerText;

volverá hola mundo!



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é