我有一个(由于很多原因)不能更改的DLL。我使用这个程序集来检索一个XPathNodeIterator。
我知道我可以在XPathNavigator上用XPathExpression对XML进行排序,得到一个XPathNodeIterator,问题是我从XPathNodeIterator开始,有没有什么方法可以在后面应用排序?
发布于 2009-09-01 17:31:44
XPathNodeIterator是XPathNavigator的非泛型IEnumerable。因此,如果你使用Linq3.5和.NET,你可以这样做:
IEnumerable<XPathNavigator> sorted =
from XPathNavigator nav in nodeIterator
orderby nav.GetAttribute("@id")
select nav;发布于 2009-09-01 17:21:55
由于此类型是迭代器,因此如果不枚举整个迭代器并将数据加载到不同的可排序结构中,就无法对内容进行排序。
有关此类型上可用的成员的列表,请参见XPathNodeIterator Members (遗憾的是,这些成员都不支持排序)。
https://stackoverflow.com/questions/1363620
复制相似问题