【发布时间】:2017-02-27 02:53:03
【问题描述】:
我在 HTML Agility 包的帮助下编写了用于将 HTML 表格解析为 datagridview 的简单应用程序。但是当我运行代码时,它会抛出一个错误“这一行已经属于这个表”
我需要解析简单的 HTML 表格,如下所示
<html>
<head>
</head>
<body>
<table>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</table>
</body>
</html>
这是我的代码
private void button1_Click(object sender, EventArgs e)
{
var htmlCode = richTextBox1.Text.Trim();
var doc = new HtmlDocument();
doc.LoadHtml(htmlCode);
dt = new DataTable();
dt.Columns.Add("Company", typeof (string));
dt.Columns.Add("Contact", typeof (string));
dt.Columns.Add("Country", typeof (string));
var count = 0;
foreach (var table in doc.DocumentNode.SelectNodes("//table"))
{
foreach (var row in table.SelectNodes("//tr"))
{
var dr = dt.NewRow();
var i = 0;
foreach (var cell in row.SelectNodes("//td"))
{
dr["Company"] = cell.InnerText.Replace(" ", "");
dr["Contact"] = cell.InnerText.Replace(" ", "");
dr["Country"] = cell.InnerText.Replace(" ", "");
}
dt.Rows.Add(dr);
}
grid.DataSource = dt;
}
}
我需要像这样的 datagridview 上的简单输出
如何使用 HTML Agility 包做到这一点?
【问题讨论】:
标签: c# html parsing datagridview html-agility-pack