以下の表を解析しようとしていますが、残念ながら各ノードがネストされているようです。 :(常に、カウントを与えているので、=のchildNodesを取得することは不可能である1HtmlAgility Packはネストしたテーブルから情報を取得するのが難しいです。
それは本当に面白いですが、それを見つけることです。?たとえば、前のTRの子ノードとして、次の「TR」を
あなたはどんな考えを持っていますか
<table width="292px" border="0">
<tr>
<td>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td colspan="2" bgcolor="#FBCE9D" align="center" height="40">
</td>
</tr>
<tr>
<td bgcolor="#FFF4D2" height="25" width="60">
</td>
<td height="25" bgcolor="#e8e8e8">
</td>
</tr>
<tr>
<td bgcolor="#FFF4D2" height="25" width="60">
</td>
<td height="25" bgcolor="#e8e8e8">
</td>
</tr>
<tr>
<td bgcolor="#FFF4D2" height="25" width="60">
</td>
<td height="25" bgcolor="#e8e8e8">
</td>
</tr>
<tr>
<td bgcolor="#FFF4D2" height="25" width="60">
</td>
<td height="25" bgcolor="#e8e8e8">
</td> //Here is a missing "</tr>" and I think this one is confusing the agilitypack!
<tr>
<td bgcolor="#FFF4D2" height="35" colspan="2" align="center">
</td>
</tr>
</table>
</td>
</tr>
</table>
私のコードされています?実はこのコードは、前に魔法のように働いていたが、それはのwiをstuckingされる内部の彼らは別のテーブルを入れ子に
var webGet = new HtmlWeb();
var doc = webGet.Load("the url where this table is located");
HtmlNodeCollection tb = doc.DocumentNode.SelectNodes("//table[@width='292px']");
var table = tb[0].ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes;
for (var na = 0; na < table.Count; na++)
{ .....do the work.... }
ChildNodes[1]
ChildNodes[1]
が存在しないため、常にChildNodes[0]
ですか?
もう1つ注意してください。 FirebugはネストされたテーブルのXPathとして "/ html/body/table/tbody/tr [2]/td/table/tbody"を表示しますが、 "tbody"はhtmlagilityを熟知していません。不足しているクローズタグ/ trを除去するブラウザ
あなたのコードはどのように見えますか? – shriek
申し訳ありませんが、私は忘れてしまった。あなたは上にそれを見つけることができます。 – MrGorki