Método HtmlAgilityPack para devolver el valor de una fila en una tabla con los datos de la columna

c# html-agility-pack

Pregunta

Quiero usar el paquete Html Agility para extraer información html interna basada en la distancia relativa de otros td dentro de una fila dada en una tabla.

Por ejemplo, en el código a continuación, lo que sería un comando dinámico eficiente que tomaría los datos de la primera etiqueta td como entrada y daría los datos de la tercera etiqueta td como salida:

<tbody>
    <tr>
        <td>Smith</td>
        <td>Glasnevin</td>
        <td>11</td>
        <td>6.0</td>
    </tr>
    <tr>
        <td>Harty</td>
        <td>Blackrock</td>
        <td>11</td>
        <td>6.0</td>
    </tr>
    <tr>
        <td>Power</td>
        <td>Salthill</td>
        <td>0</td>
        <td>5.8</td>
    </tr>
</tbody>

Así que si doy 'Smith' como entrada, me gustaría obtener '11' como salida o si doy 'Power' como entrada, obtendré '0' como salida.

Respuesta aceptada

Aquí hay un ejemplo :

HtmlDocument doc = new HtmlDocument();
//load your HTML to `doc`
var result = doc.DocumentNode
                .SelectSingleNode("//tr[td[1]='Power']/td[3]")
                .InnerText;
//at this point `result` hold value of 0

XPath significa que el nodo <tr> seleccionado tiene el primer nodo secundario <td> igual a "Power" , luego obtenga el tercer <td> de la <tr> mencionada anteriormente.



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é