Parsing HTML with CSQuery

前端 未结 1 903
梦谈多话
梦谈多话 2020-12-10 17:45

How can I retrieve the value from a div tag via the ID using CSQuery?

For example,

Room 1
相关标签:

1条回答
  • 2020-12-10 18:20

    Ok, here is how you do this with a full working example.

    Html

    This includes your invalid/duplicate id html which you have no control over

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

    This loads the dom elements by their id's into two lists of descriptions and prices. It then projects them into a list of HotelAvailability objects using the key values of both collections as the HotelName and Price properties.

            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() });
    

    Screen grab

    Run the above in a console app to test it.

    0 讨论(0)
提交回复
热议问题