See the question and my original answer on StackOverflow

I suggest you learn a bit of XPATH which is supported by the Html Agility Pack, and allows for concise queries over the HTML DOM. For example, the following code:

    HtmlDocument doc = new HtmlDocument();
    doc.Load("test.htm");

    HtmlNode node = doc.GetElementbyId("ab100_ab100_ab100_Main_Sub_Sub_objComponent");
    foreach (HtmlNode row in node.SelectNodes(".//div[@class='row']"))
    {
        Console.Write(row.SelectSingleNode("div[@class='label']").InnerText.Trim());
        Console.WriteLine(row.SelectSingleNode("div[@class='value']").InnerText.Trim());
    }

Will output this:

First Name:Albert Trebla
Second Year:
Classy Stuff:7
Weather:Cloudy  - Might Rain
Front Text:OpenedThe shop is opened when the bridges are lowered.
Flavor:"This taste good!"

if you need HTML inside the value or label div, then you can again issue XPATH queries from there.