C# HtmlAgilityPack选择特定数量的节点

C# HtmlAgilityPack选择特定数量的节点,c#,linq,dom,html-agility-pack,C#,Linq,Dom,Html Agility Pack,考虑下面的C语句,它实现了从给定网站选择一些HTML节点的HAP var nodes = page.DocumentNode.SelectNodes("//ul[contains(@class,'relatedProductsGrid')]//div[@class='product']//a"); 在给定的页面上,选择器为页面返回大约20个节点,我的问题是,如果我想限制它捕获的节点数量,我将如何做到这一点 所以本质上,我想选择3个节点而不是20个,但以最干净的方式,也许有一个LINQ表达式可以

考虑下面的C语句,它实现了从给定网站选择一些HTML节点的HAP

var nodes = page.DocumentNode.SelectNodes("//ul[contains(@class,'relatedProductsGrid')]//div[@class='product']//a");
在给定的页面上,选择器为页面返回大约20个节点,我的问题是,如果我想限制它捕获的节点数量,我将如何做到这一点

所以本质上,我想选择3个节点而不是20个,但以最干净的方式,也许有一个LINQ表达式可以用来简化我的请求

多谢大家

您可以使用XPath中的函数来限制项目的数量,方法如下:

//ul[contains(@class,'relatedProductsGrid')]//div[@class='product']//a[position() >= 1 and position() < 4]
只需在末尾加上.Take3?