What is the best way of converting a Html table to datatable

前端 未结 2 1023
梦毁少年i
梦毁少年i 2021-02-03 12:34

I have a html table.I want to convert this into a datatable. What is the best way of doing so? Thanks

2条回答
  •  感情败类
    2021-02-03 12:54

    Don't parse the HTML yourself, there are parsing libraries out there that can do that for you. Coupled with the HTML Agility Pack and LINQ, you can make short work of this.

    var doc = new HtmlDocument();
    doc.Load(url);
    
    var nodes = doc.DocumentNode.SelectNodes("//table/tr");
    var table = new DataTable("MyTable");
    
    var headers = nodes[0]
        .Elements("th")
        .Select(th => th.InnerText.Trim());
    foreach (var header in headers)
    {
        table.Columns.Add(header);
    }
    
    var rows = nodes.Skip(1).Select(tr => tr
        .Elements("td")
        .Select(td => td.InnerText.Trim())
        .ToArray());
    foreach (var row in rows)
    {
        table.Rows.Add(row);
    }
    

提交回复
热议问题