HTML が本当にシンプルで、行やセルに属性がなく、コンテンツに変な文字がない場合、正規表現は手っ取り早いソリューションです。
string html = "<table><tr><td>32</td><td>jon</td><td>smith</td></tr></table>";
string pattern = "<tr>(?:<td>(.*?)</td>)*?</tr>";
foreach (Match m in Regex.Matches(html, pattern, RegexOptions.IgnoreCase))
{
// Add row
var row = grid.AddRow();
foreach (Capture c in m.Groups[1].Captures)
{
// Add cell
var cell = row.AddCell();
cell.Contents = c.Value;
}
}
HTML がこれほど単純ではない可能性がある場合は、HTML Agility Pack を使用してください。
string html = "<table><tr><td>32</td><td>jon</td><td>smith</td></tr></table>";
var table = new HtmlDocument();
table.LoadHtml(html);
foreach (var tr in table.DocumentNode.Descendants("tr"))
{
// Add row
var row = grid.AddRow();
foreach (var td in tr.Descendants("td"))
{
var cell = row.AddCell();
cell.Contents = td.InnerText;
}
}
(ここで実際に行とセルを追加する方法を推測しました。うまくいけば、自分で修正できます。)