HtmlAgilityPack を使用して TR を解析し、1 番目、2 番目、3 番目などの TD で別のことをしようとしています。
私はほとんどそこにいますが、私のコード (以下) は無限ループを引き起こします。最初の行を何度も繰り返すだけです。
foreach (HtmlNode row in htmlDoc.DocumentNode.SelectNodes("//table//tr"))
{
var node = row.SelectSingleNode("//td[1]");
if (node != null)
{
Console.WriteLine("Node: {0}", node.InnerText);
}
}
生の HTML はそれを正しく返しました。テーブルもかなり標準的です。
<table>
<tr>
<th>Header 1</hr>
<th>Header 2</hr>
<th>Header 3</hr>
<th>Header 4</hr>
<th>Header 5</hr>
</tr>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
<td>Cell 4</td>
<td>Cell 5</td>
...
</tr>
</table>
次のコードは機能しますが、行ごとにグループ化されていないため、操作がはるかに困難です。
foreach (HtmlNode node in htmlDoc.DocumentNode.SelectNodes("//table//tr//td"))
{
Console.WriteLine("Node: {0}", node.InnerText);
}