En supposant que les tables imbriquées n’ont pas d’attributs uniques (id, classe ou quoi que ce soit d’autre) pour obtenir l’objet requis via
doc.DocumentNode.SelectSingleNode("//table[@width='500']")
Est-ce que XPath interdit d'utiliser la table plusieurs fois dans son chemin?
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/center/table"))
lève une exception lorsque SelectNodes renvoie null.
Si c'est le cas, comment traiter l'analyse HTML avec des tables imbriquées sans attributs spécifiques avec Agility Pack?
Je viens de manquer la balise "td" sur mon chemin. Alors
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/td/center/table/tr/td/center/table"))
ça marche. Cela répond effectivement à ma question. Autre solution de contournement pour obtenir la même table en supposant que les éléments parent contiennent des valeurs d'attributs uniques
HtmlNode tbl = doc.DocumentNode.SelectSingleNode("//td[@height='643']/center/table");