Agarrando meta-etiquetas y comentarios usando HTML Agility Pack

.net c# html-agility-pack html-parsing

Pregunta

He buscado tutoriales sobre el uso de HTML Agility Pack, ya que parece hacer todo lo que quiero que haga, pero parece que para una herramienta tan poderosa hay poco ruido al respecto en Internet.

Estoy escribiendo un método simple que recuperará cualquier etiqueta basada en el nombre:

public string[] GetTagsByName(string TagName, string Source) {
    ...
}

Esto se puede hacer fácilmente usando una expresión regular, pero todos sabemos que usar la expresión regular para analizar HTML no es correcto. Hasta ahora tengo el siguiente código:

public string[] GetTagsByName(string TagName, string Source) {
    ...
}

Me gustaría poder primero eliminar todos los comentarios del HTML y luego devolver la etiqueta correcta según su nombre. Si es posible, también me gustaría devolver ciertas meta-etiquetas basadas en atributos, como el robot. No soy tan bueno con Xpath, por lo que cualquier ayuda sería buena.

Cualquier ayuda sería muy apreciada.

Respuesta aceptada

HtmlAgilityPack's HtmlDocument implementa IXpathNavigable , por lo tanto, utiliza el motor estándar .NET XPath. Cualquier documentación de XPath 1.0 será aplicable, especialmente si se trata de System.Xml.XPath.

"// comentario ()" encuentra todos los comentarios
"// meta" encuentra todos los elementos "meta"

HtmlDocument fue diseñado para parecerse mucho a XmlDocument , por lo que los ejemplos y tutoriales sobre este tema serán de alguna manera aplicables.

Algunos enlaces de MSDN:




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é