8
我有一個html表。我想將其轉換爲數據表。這樣做的最好方法是什麼? 謝謝什麼是將Html錶轉換爲數據表的最佳方式
我有一個html表。我想將其轉換爲數據表。這樣做的最好方法是什麼? 謝謝什麼是將Html錶轉換爲數據表的最佳方式
不要自己解析HTML,有解析庫可以爲你做。再加上HTML Agility Pack和LINQ,你可以做這個簡短的工作。
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);
}
有一些小的定製,作品像一個魅力 – 2013-06-27 18:10:45
這將照顧colspans和表樣式(css)?這看起來像只會翻譯數據和元素標記 – user327999 2015-01-20 20:27:31
@ user327999:不,這只是一對一的映射。無論如何,DataTables並沒有這樣的事情。 – 2015-01-21 08:34:58