【发布时间】:2011-06-08 06:53:10
【问题描述】:
我想在 span class="floatClear" 中获得该元素的 A href,该元素在
span class="star-img stars_4" 中的评分最低>
如何使用 HtmlAgilityPack 来实现这种行为我已经给出了我文件的 html 源代码
<div class="businessresult"> //will repeat
<div class="rightcol">
<div class="rating">
<span class="star-img stars_4">
<img height="325" width="84" src="http://media1.px" alt="4.0 star rating" **title**="4.0 star rating">
</span>
</div>
</div>
<span class="floatClear">
<a class="ybtn btn-y-s" href="/writeareview/biz/KaBw8UEm8u6war_loc%NY">
</span>
</div>
我写的查询
var lowestreview =
from main in htmlDoc.DocumentNode.SelectNodes("//div[@class='rightcol']")
from rating in htmlDoc.DocumentNode.SelectNodes("//div[@class='rating']")
from ratingspan in htmlDoc.DocumentNode.SelectNodes("//span[@class='star-img stars_4']")
from floatClear in htmlDoc.DocumentNode.SelectNodes("//span[@class='floatClear']")
select new { Rate = ratingspan.InnerText, AHref = floatClear.InnerHtml };
但我不知道如何在 LINQ 查询的最后一行应用条件!
【问题讨论】:
-
您确定这是正确的查询吗?您正在选择一堆 独立 节点:无论它们是否带有“rightcol” div(等等),您都会获得所有“评级” div。
-
我不确定,这就是我问的原因!
-
必须在一个查询中吗?
-
没必要,我只需要解析 html 并获取最低评论产品的 url。
标签: c# html linq html-agility-pack