¿Hay un objeto en C # que permita la administración fácil de HTML DOM?

c# dom dom-manipulation html-agility-pack

Pregunta

Si tengo una cadena que contiene el html de una página que acabo de recibir de una publicación HTTP, ¿cómo puedo convertir eso en algo que me permita atravesar el DOM fácilmente?

Pensé que el objeto HtmlDocument tendría sentido, pero no tiene un constructor. ¿Hay algún tipo que permita una fácil gestión de HTML DOM?

Gracias,
Mate

Respuesta aceptada

El HtmlDocument es una instancia de un documento que ya está cargado por un control WebBrowser. Así no hay ctor.

Html Agility Pack es, con mucho, la mejor biblioteca que he usado para este propósito

Un ejemplo de la wiki de codeplex.

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
}
doc.Save("file.htm");

El ejemplo muestra la carga de un archivo, pero hay sobrecargas que le permiten cargar una cadena o una secuencia.



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