在C#中对XPathNodeIterator的内容进行排序

San*_*der 1 c# xml xpath

我有一个DLL(由于许多原因)无法改变.我使用这个程序集来检索一个XPathNodeIterator.

我知道我可以用XML排序XPathExpressionXPathNavigator获得的XPathNodeIterator,问题是,我从一开始XPathNodeIterator就是有什么办法可以再应用排序?

Pav*_*aev 5

XPathNodeIterator是非通用IEnumerableXPathNavigator.因此,如果您使用.NET 3.5和LINQ,您可以执行以下操作:

IEnumerable<XPathNavigator> sorted =
     from XPathNavigator nav in nodeIterator
     orderby nav.GetAttribute("@id")
     select nav;
Run Code Online (Sandbox Code Playgroud)