Cómo obtener texto HTML entre las etiquetas H1 en C #

c# html html-agility-pack

Pregunta

Necesito analizar un documento HTML para extraer todas las etiquetas H1 y todo HTML entre ellas. He estado jugando con HtmlAgilityPack para lograr esto con cierto éxito. Podría extraer todas las etiquetas H1 usando:

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//h1"))

Pero, ¿cómo extraigo todo el HTML después de cada etiqueta H1 hasta que llego a la siguiente etiqueta H1? Este HTML podría incluir cualquier cosa de una tabla / imagen / enlace o cualquier otra cosa en una página HTML excepto la etiqueta H1.

Gracias por adelantado.

Respuesta popular

Posible solución: obtenga el HTML completo como String, reemplace <H1> con un signo que HTML no conoce (por ejemplo, ¼, HTML usa & uuml;), luego divida el String por este signo en una matriz.

Ahora busca (con RegEx por ejemplo) los nodos que tienen etiquetas de inicio Y finalización y solo las analiza.

Rápido y sucio, pero debería funcionar.

Tenga en cuenta que, como se mencionó en drachenstern, las etiquetas H1 anidadas harán que los nodos principales no se analicen.



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