HtmlAgilityPackメソッドは、列データを指定してテーブルの行から値を返す

c# html-agility-pack

質問

私はテーブル内の特定の行内の他のtdからの相対距離に基づいて内側のhtml情報を抽出するためにHtml Agilityパックを使用したいと思います。

たとえば、以下のコードでは、最初のtdタグのデータを入力として受け取り、3番目のtdタグのデータを出力として与える効率的な動的コマンドがあります。

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

だから私は 'スミス'を入力として与え、私は出力として '11'を得たいと思います。もし私が 'パワー'を入力として与えると、出力として '0'が得られます。

受け入れられた回答

次に例を示します。

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とは、最初の子ノード<td>"Power"に等しい<tr>ノードを選択し、次に前述の<tr>から3番目の<td>取得することを意味します。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ