6

如何div使用 CSQuery 通过 ID 从标签中检索值?

例如,

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

在这种情况下,我想获取里面的内容typeprice.

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# 代码

这会将 dom 元素按其 id 加载到描述和价格的两个列表中。HotelAvailability然后,它使用两个集合的键值作为HotelNamePrice属性将它们投影到对象列表中。

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