HtmlAgilityPack-Methode zum Zurückgeben eines Werts aus einer Zeile in einer Tabelle mit angegebenen Spaltendaten

c# html-agility-pack

Frage

Ich möchte Html Agility Pack verwenden, um innere HTML-Informationen basierend auf der relativen Entfernung von anderen TDs innerhalb einer bestimmten Zeile in einer Tabelle zu extrahieren.

Zum Beispiel im folgenden Code, der ein effizienter dynamischer Befehl wäre, der die Daten im ersten td-Tag als Eingabe und die Daten im dritten td-Tag als Ausgabe verwendet:

<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>

Wenn ich also "Smith" als Eingabe gebe, möchte ich "11" als Ausgabe erhalten, oder wenn ich "Power" als Eingabe gebe, würde ich "0" als Ausgabe bekommen.

Akzeptierte Antwort

Hier ist ein Beispiel :

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

Der XPath bedeutet, dass der Knoten <tr> , der den ersten untergeordneten Knoten <td> gleich "Power" , und dann den dritten <td> aus dem zuvor erwähnten <tr> .



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum