html tablas anidadas paquete de agilidad válido xpath

html html-agility-pack xpath

Pregunta

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?

Respuesta aceptada

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");


Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué