HtmlAgilityPack选择特定数量的节点

时间:2014-07-14 09:18:27

标签: c# linq dom html-agility-pack

考虑以下C#语句,该语句实现HAP以从给定网站中选择一些HTML节点。

var nodes = page.DocumentNode.SelectNodes("//ul[contains(@class,'relatedProductsGrid')]//div[@class='product']//a");

在给定的页面上,选择器返回大约20个页面的节点,我的问题是,如果我想限制它抓取的节点数量,我该怎么做?

基本上,我想"选择3个节点而不是20"但是以最干净的方式,也许有一个LINQ表达式我可以用来简单地提出我的请求吗?

全部谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用XPath中的position()函数以下列方式限制项目数:

//ul[contains(@class,'relatedProductsGrid')]//div[@class='product']//a[position() >= 1 and position() < 4]