這是我當前的代碼,它從XML獲取元素並將其放入數組中。但它只是把它放在它讀取它(從上到下)順序在將數組轉換爲數組之前,可以通過屬性對XML進行排序?
using System.Xml;
using System.Xml.Linq;
// XML Path
var doc = XDocument.Load("C:/Scripts/example.xml");
// Node
string[] picks = doc.Descendants("pick").Select(element => element.Value).ToArray();
我想知道是否有可能通過一個屬性對數組進行排序(在這種情況下,「訂單」)爲我打開它變成一個數組。所需的輸出是{Gragas,Draven,瑞澤,沉Shyvanna,...}
,這裏是我的xml:
<championSelect>
<blue>
<pick order="1">Gragas</pick>
<pick order="4">Shen</pick>
<pick order="5">Shyvanna</pick>
<pick order="8">Garen</pick>
<pick order="9">Karthus</pick>
</blue>
<red>
<pick order="2">Draven</pick>
<pick order="3">Ryze</pick>
<pick order="6">Ahri</pick>
<pick order="7">Annie</pick>
<pick order="10">Brand</pick>
</red>
我用的OrderBy()和OrderByDescending(玩)具點點運氣
爲什麼不使用排序依據befor e .ToArray? –
將它變成一個數組,然後對其進行排序。對數組進行排序比對XML進行排序更有意義(這可能使用一些抽象(如LINQ to XML),但不是沒有意義,也沒有意義)。 – evanmcdonnal
@evanmcdonnal把它變成一個數組首先不會在這裏工作,因爲OP想排序的值不會在最終數組 – JaredPar