Paquete de agilidad HTML

c# html html-agility-pack parsing winforms

Pregunta

Estoy tratando de usar HTML Agility Pack para obtener el texto de la descripción dentro de:

<meta name="description" content="**this is the text i want to extract and store in a string**" />

Y alguien en Stackoverflow hace un rato me sugirió que usara HTMLAgilityPack. Pero no sé cómo usarlo, y la documentación que he encontrado (incluidos los documentos contenidos en las descargas) tienen enlaces no válidos y, por lo tanto, no pueden ver la documentación.

¿Alguien por favor me puede ayudar a resolver esto?

Respuesta experta

El uso es muy similar a XmlDocument ; podría usar MSDN en XmlDocument para una visión general amplia; es posible que también desee aprender la sintaxis xpath ( MSDN ).

Ejemplo:

HtmlDocument doc = new HtmlDocument();
doc.Load(path); // or .LoadHtml(html);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//meta[@name='description']");
if (node != null) {
    string desc = node.GetAttributeValue("content", "");
    // TODO: write desc somewhere
}

El segundo argumento de GetAttributeValue es el valor predeterminado devuelto en caso de que no se encuentre el atributo.


Respuesta popular

cadena pública HtmlAgi (cadena url, cadena clave) {

    var Webget = new HtmlWeb();
    var doc = Webget.Load(url);
    HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(string.Format("//meta[@name='{0}']", key));

    if (ourNode != null)
    {


            return ourNode.GetAttributeValue("content", "");

    }
    else
    {
        return "not fount";
    }

}


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é