¿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>
Necesitas seleccionar estos nodos usando xpath:
foreach(HtmlNode cell in doc.DocumentElement.SelectNodes("//tr[@name='display']/td")
{
// get cell data
}
¡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.