Paquete de agilidad HTML + Seleccione el nodo por su texto interno

c#-4.0 html-agility-pack xpath

Pregunta

He aprendido a usar el paquete de agilidad html para encontrar nodos específicos utilizando sus atributos y xpaths. El problema es que he estado haciendo esto manualmente para cada uno de mis proyectos (abriendo el sitio web html y buscando los nodos que tienen el texto que necesito). ¿Hay una manera de seleccionar un solo nodo por su texto interno? Esto facilitaría la escritura de un script de actualización para sitios web cuyo esquema de contenido sea el mismo, pero las etiquetas de atributos cambian de valor con el tiempo. ¡Gracias por adelantado!

Respuesta popular

Sería mejor si proporcionara una muestra de HTML, pero como no lo ha hecho, asumamos que tenemos HTML que contiene este marcado:

<body>
    <div class="foo">bar</div>
</body>

Puede seleccionar el <div> por su atributo utilizando SelectSingleNode() de SelectSingleNode() y XPath de la siguiente manera:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[@class='foo']");

O puede seleccionar el mismo por el texto interno de la siguiente manera:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[.='bar']");

Espero que esto ayude.



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow