div
CSQuery を使用して ID を介してタグから値を取得するにはどうすればよいですか?
例えば、
<h3>
<div id='type'>
Room 1
</div>
<div id='price'>
145
</div>
</h3>
type
この場合、コンテンツをand内に取得したいと思いprice
ます。
わかりました、これが完全に機能する例でこれを行う方法です。
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 €
</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 €
</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() });
コンソール アプリで上記を実行してテストします。