Ich versuche, die Tabelle unten zu analysieren, aber leider scheint jeder der Knoten ineinander verschachtelt zu sein. :(Es ist unmöglich, den childnodes zu bekommen, weil es immer die Zählung geben = 1HtmlAgility Pack hat Schwierigkeiten, Informationen aus der geschachtelten Tabelle zu erhalten
Es ist wirklich interessant, aber es ist zu finden;? Zum Beispiel des nächste „tr“ als childNode des früheren tr
? haben Sie eine Idee haben,
<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>
Mein Code ist:
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.... }
Eigentlich wurde dieser Code wie ein Zauber funktioniert, bevor aber sie verschachtelt einen anderen Tisch im Inneren wi ist stucking th ChildNodes[1]
weil es keine ChildNodes[1]
gibt es immer ChildNodes[0]
?
Noch ein Hinweis; Firebug zeigt "/ html/body/table/tbody/tr [2]/td/table/tbody" als den XPath der verschachtelten Tabelle, aber wie Sie vielleicht bemerken, ist "tbody" nicht mit htmlagility vertraut, da es dynamisch von der browser, um das fehlende schließen tag/tr
Wie sieht Ihr Code aus? – shriek
Sorry, ich habe es vergessen. Sie können es oben finden. – MrGorki