C# 如何遍历多个 html 表的所有 TR 和 TD 并提取值

C# How to iterate in all TR & TD of multiple html table and extract value

提问人:Sankar 提问时间:10/19/2023 更新时间:10/19/2023 访问量:16

问:

我想使用 htmlagility pack 解析多个 html 表。我想遍历所有 TD 并提取值。

请查看此 URL https://www.sec.gov/Archives/edgar/data/1108134/000110813423000018/bhlb-20230630.htm

上面的 URL 有许多表格数据,我必须解析其 HTML 表。

如果任何一个 inpect HTML 表格代码,那么请注意一段时间 TD 具有直接价值。 有时TD有SPAN标签,它有价值,有时SPAN有一个自定义标签<ix:nonfraction>,它有价值。

我尝试了这段代码来迭代所有 tr 和 td,但没有运气。我的目标是遍历所有 HTML 表并从 TD 中提取值。

我试过的这段代码

var table1 = htmlDoc.DocumentNode.SelectNodes("//table");
        var tbody = table1.ChildNodes["tbody"];
        var lst = new List<Table1>();
        foreach (var row in tbody.ChildNodes.Where(r => r.Name == "tr"))
        {
            var tbl1 = new Table1();
            var columnsArray = row.ChildNodes.Where(c => c.Name == "td").ToArray();
            for (int i = 0; i < columnsArray.Length; i++)
            {
                if (i == 0)
                    tbl1.Course = columnsArray[i].InnerText.Trim();
                if (i == 1)
                    tbl1.Count = columnsArray[i].InnerText.Trim();
                if (i == 2)
                    tbl1.Correct = columnsArray[i].InnerText.Trim();
            }
            lst.Add(tbl1);
        }

任何形式的帮助或指导都将是一个伟大的帮助。谢谢

C# HTML 解析 html-agility-pack

评论


答: 暂无答案