asp.net - 从 XmlDocument XPath 查询中获取特定数量的结果

标签 asp.net xpath xmldocument

我正在查询 Twitter RSS 提要并将结果提供给中继器以供显示。我只想获得 XPath 查询的前 5 个结果。有没有办法在 XPath 语法中做到这一点,或者我是否必须遍历结果 XmlNodeList拔出前5?

XmlDocument doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(rssPath);
doc.Load(reader);

XmlNodeList items = doc.SelectNodes("/rss/channel/item");

rptTwitter.ItemDataBound += new RepeaterItemEventHandler(rptTwitter_ItemDataBound);
rptTwitter.DataSource = items;
rptTwitter.DataBind();

最佳答案

试试这个 XPath 查询:

(/rss/channel/item)[position() <= 5]

它只返回前五个匹配项。括号很重要,因为没有它们 [position() <= 5]部分适用于item元素在其父节点中的位置,而不是它在结果节点集中的位置。

关于asp.net - 从 XmlDocument XPath 查询中获取特定数量的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1827361/

相关文章:

javascript - 如何在 7 个字母/字母/数字和新行中的新字母之后在键上插入定界符 - Jquery

xpath - xpath根据元素部分匹配来拉节点

c# - 有没有办法让 XmlDocument 解析不那么严格

html - 使用 XPATH 定位特定元素,然后从该元素向前移动以定位树中的下一个表

c# - 如何将文件夹中的所有 Xml 文件加载到 XmlDocument

c# - 您将如何比较两个 XML 文档?

c# - 脚本无法在服务器端运行

javascript - asp.net,javascript,无法获取属性 getElementsByTagName 的值

asp.net - 避免向服务器的每个请求附加 cookie

xml - 使用 XSLT 打印计数