6

divCSQuery を使用して ID を介してタグから値を取得するにはどうすればよいですか?

例えば、

<h3>
    <div id='type'>
        Room 1
    </div>
    <div id='price'>
        145
    </div>
</h3>

typeこの場合、コンテンツをand内に取得したいと思いpriceます。

4

1 に答える 1

8

わかりました、これが完全に機能する例でこれを行う方法です。

HTML

これには、制御できない無効/重複した ID html が含まれます

var html = @"<h3>
            <div id='lib_presta'>
                Chambre standard 1 pers du <span class=''>03/03/2014</span>  au <span class=''>05/03/2014 </span>
            </div>
            <div id='prix_presta'>
                127.76 &euro;
            </div>
        </h3><h3>
            <div id='lib_presta'>
                Chambre standard 2 pers du <span class=''>03/03/2014</span>  au <span class=''>05/03/2014 </span>
            </div>
            <div id='prix_presta'>
                227.76 &euro;
            </div>
        </h3>";

C# コード

これにより、id ごとに dom 要素が説明と価格の 2 つのリストに読み込まれます。HotelAvailability次に、両方のコレクションのキー値をHotelNameおよびPriceプロパティとして使用して、それらをオブジェクトのリストに射影します。

        CQ dom = html;

        var libs = dom["#lib_presta"];
        var prixs = dom["#prix_presta"];

        var list = libs.Zip(prixs, (k, v) => new { k, v })
          .Select(h => new HotelAvailablity { HotelName = h.k.InnerText.Trim(), Price = h.v.InnerText.Trim() });

スクリーングラブ

コンソール アプリで上記を実行してテストします。

于 2014-02-28T12:36:00.550 に答える