Asumiendo que las tablas anidadas no tienen atributos únicos (id, clase o cualquier otra cosa) para obtener el requerido a través de
doc.DocumentNode.SelectSingleNode("//table[@width='500']")
¿XPath prohíbe usar la tabla varias veces en su camino?
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/center/table"))
lanza la excepción cuando SelectNodes devuelve nulo.
Si es así, ¿cómo abordar el análisis de html con tablas anidadas sin atributos específicos con Agility Pack?
Acabo de perder la etiqueta "td" en mi camino. Asi que
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/td/center/table/tr/td/center/table"))
funciona. Eso en realidad responde a mi pregunta. Otra solución para obtener la misma tabla asumiendo que existen valores de atributos únicos en los elementos principales
HtmlNode tbl = doc.DocumentNode.SelectSingleNode("//td[@height='643']/center/table");