Tabla de análisis HTMLAgilityPack dentro de otra celda de tabla

arraylist c# html-agility-pack

Pregunta

Tengo la siguiente tabla:

<table>
    <tr><th>header1</th><th>header2</th><th>header3</th></tr>
    <tr><td>value01</td><td>value02</td><td>value03</td></tr>
    <tr><td>value11</td><td>value12</td><td>value13</td></tr>
    <tr>
        <td colspan="3">
            <table>
                <tr><td>subvalue01</td><td>subvalue02</td></tr>
            </table>
        </td>
    </tr>
</table>

Estoy usando este código para guardar los valores de celda de la tabla principal en ArrayList separados y valores de celda de subtabla en otro ArrayList . Pero mi ArrayList para valores de celda de subtabla está guardando los valores completos, incluyendo tabla y subtabla:

<table>
    <tr><th>header1</th><th>header2</th><th>header3</th></tr>
    <tr><td>value01</td><td>value02</td><td>value03</td></tr>
    <tr><td>value11</td><td>value12</td><td>value13</td></tr>
    <tr>
        <td colspan="3">
            <table>
                <tr><td>subvalue01</td><td>subvalue02</td></tr>
            </table>
        </td>
    </tr>
</table>

¿Qué está mal con mi código?

Respuesta aceptada

Creo tu primera linea

foreach (HtmlNode table in hdoc.DocumentNode.SelectNodes("//table"))

seleccionará TODAS las tablas - en cualquier nivel (incluidas las tablas anidadas).

Por: http://www.w3schools.com/XPath/xpath_syntax.asp

// Selecciona los nodos en el documento del nodo actual que coinciden con la selección sin importar dónde estén

Entonces, cambia tu primera línea a

foreach (HtmlNode table in hdoc.DocumentNode.SelectNodes("//table"))

Y ver cómo va eso.




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é