Html Agility Pack - recorre filas y columnas

asp.net c# html-agility-pack

Pregunta

¿Cómo puedo recorrer la tabla y la fila que tienen un ID o nombre de atributo para obtener texto interno en el fondo de cada celda td? Trabajo en asp.net, c # y el paquete de agilidad html más nuevo. Por favor guia Gracias.

Un archivo html tiene varias tablas. Uno de ellos tiene un atributo id = main-part. En esa tabla identificada, hay muchas filas. Algunas de esas filas tienen el mismo nombre de atributo = mostrar. En esas filas nombradas, hay muchas columnas de las que tengo que extraer texto. Algo como esto:

<body>
<table>
...
</table>
<table>
...
</table>

<table id="main-part">
   <tr>
     <td></td>
     ...
   </tr>
   <tr>
     <td></td>
     ...
   </tr>
   <tr name="display">
     <td>Jan</td>
     <td>Feb</td>
     <td>Mar</td>
     ...
   </tr>
      <tr name="display">
     <td>Apr</td>
     <td>May</td>
     <td>June</td>
     ...
   </tr>
      <tr name="display">
     <td>Jul</td>
     <td>Aug</td>
     <td>Sep</td>
     ...
   </tr>
   <tr>
     <td></td>
     ...
   </tr>
   <tr name="display">
     <td>Oct</td>
     <td>Nov</td>
     <td>Dec</td>
     ...
   </tr>
   <tr>
     <td></td>
     ...
   </tr>
</table>
<table>
...
</table>
</body>

Respuesta aceptada

Necesitas seleccionar estos nodos usando xpath:

foreach(HtmlNode cell in doc.DocumentElement.SelectNodes("//tr[@name='display']/td")
{
   // get cell data
}

Respuesta popular

¡Funcionó! Muchas gracias Oded.

    HtmlDocument doc = new HtmlDocument();
         doc.Load(@"C:/samplefolder/sample.htm"); 
foreach(HtmlNode cell in doc.DocumentNode.SelectNodes("//tr[@name='display']/td")) 
{
         string test = cell.InnerText;
         Response.Write(test); 
}

Mostró resultados como JanFebMarAprMayJuneJulAugSepOctNovDec . ¿Cómo puedo ordenarlos, separados por un espacio o una pestaña? Gracias.



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é