HtmlAgilityPackを使用して最後を取得する<tr> HTMLテーブルの

html html-agility-pack html-table

質問

私はHTMLのテーブル構造を持っています。最後の<tr>タグの最初の<td>値の値を取得する必要があります。ここに私のテーブル構造があります。私が以下の関数getFinalNodeValueから必要とする値は " 3 "です。

 <table id="test">
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Age</td>
            </tr>
            <tr>
                <td>1</td>
                <td>Yasoda</td>
                <td>21</td>
            </tr>

            <tr>
                <td>2</td>
                <td>Samantha</td>
                <td>25</td>
            </tr>

            <tr>
                <td>3</td>
                <td>Sajee</td>
                <td>26</td>
            </tr>

        </table>


ここでは、私はHtmlAgilityPackを使用して記述したコードです。

 <table id="test">
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Age</td>
            </tr>
            <tr>
                <td>1</td>
                <td>Yasoda</td>
                <td>21</td>
            </tr>

            <tr>
                <td>2</td>
                <td>Samantha</td>
                <td>25</td>
            </tr>

            <tr>
                <td>3</td>
                <td>Sajee</td>
                <td>26</td>
            </tr>

        </table>

このメソッドは値を返しません。どんな助けも高く評価されます。

受け入れられた回答

これはそれを行う必要があります:

    HtmlDocument doc = new HtmlDocument();
    doc.Load(MyHtmlFile);

    HtmlNode node = doc.DocumentNode.SelectSingleNode("//table[@id='test']/tr[last()]/td");
    Console.WriteLine(node.InnerText);

XPATH last()関数の使用に注意してください


人気のある回答

table変数 - "//table[@id='test']//tr[1]"を設定するために使用するXPathは、テーブルなしの2番目の TR要素を選択します。

これはたぶん"//table[@id='test']"なければなりません。

この時点で、子孫のTRノードをtrNodes変数にフェッチするには、次のようにします。

IEnumerable<HtmlNode> trNodes = table.SelectNodes("tr");



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