views:

649

answers:

1
+2  Q: 

HTML Agility Pack

Hi All

I'm trying to use HTML Agility Pack to get the description text from inside the:

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

And someone on Stackoverflow a little while ago suggested I use HTMLAgilityPack. But I don't know how to use it, and the documentation for it that I've found (including the docs contained in the downloads) all have invalid links and therefor cannot view the documentation.

Can somebody please help me solve this?

+4  A: 

The usage is very similar to XmlDocument; you could use MSDN on XmlDocument for a broad overview; you might also want to learn xpath syntax (MSDN).

Example:

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
}
Marc Gravell
What is the second string argument (the empty one) used for in `node.GetAttributeValue("content", "");`?
AlexW
@AlexW - I don't have that library "to hand" at the moment; what is the parameter called?
Marc Gravell
@Marc Not sure on the parameter name... Will follow definition path later to find out. Thanks for answer here, v useful.
AlexW