C#HtmlDocument提取类

时间:2014-12-07 15:10:57

标签: c# htmlelements

我正在编写一些代码来遍历HTML页面中的每个元素并提取所有ID和类。

我目前的代码能够提取ID,但我看不到获取课程的方法,有人知道我可以在哪里访问这些吗?

    private void ParseElements()
    {
        // GET: Document from Browser
        HtmlDocument ThisDocument = Browser.Document;

        // DECLARE: List of IDs
        List<string> ListIdentifiers = new List<string>();

        // LOOP: Through Each Element
        for (int LoopA = 0; LoopA < ThisDocument.All.Count; LoopA += 1)
        {
            // DETERMINE: Whether ID Exists in Element
            if (ThisDocument.All[LoopA].Id != null)
            {
                // ADD: Identifier to List
                ListIdentifiers.Add(ThisDocument.All[LoopA].Id);
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以获取每个节点的内部HTML并使用正则表达式来获取该类。或者你可以试试HTML Agility pack。

像...一样的东西。

HtmlAgilityPack.HtmlDocument AgilePack = new HtmlAgilityPack.HtmlDocument();

AgilePack.LoadHtml(ThisDocument.Body.OuterHtml);

HtmlNodeCollection Nodes = AgilePack.DocumentNode.SelectNodes(@"//*");

foreach (HtmlAgilityPack.HtmlNode Node in Nodes)
{
    if (Node.Attributes["class"] != null)
        MessageBox.Show(Node.Attributes["class"].Value);

}