XDocument
C# では、 usingを並べ替えようとしていますOrderByDescending
。目標は、日付/時刻スタンプを含む子ノードの 1 つを読み取り、親ノードを並べ替えることです。
次のように、保存したファイルから XML を読み込みます。
XDocument Doc = new XDocument();
Doc= XDocument.Load(filename);
これが私の XML の例です。
<KS>
<Team>
<TeamName>Knights</TeamName>
<TeamColor>blue</TeamColor>
<LastAccessed>5/9/2013 2:34:22 PM</LastAccessed>
</Team>
<Team>
<TeamName>Rangers</TeamName>
<TeamColor>red</TeamColor>
<LastAccessed>5/9/2013 3:49:06 PM</LastAccessed>
</Team>
<Team>
<TeamName>Eagles</TeamName>
<TeamColor>green</TeamColor>
<LastAccessed>5/9/2013 3:50:18 PM</LastAccessed>
</Team>
</KS>
<Team>
子要素に基づいて降順に並べ替えたいと思います<LastAccessed>
。
私は運なしで次のことを試しました:
var results = Doc.Root.Descendants("Team").OrderByDescending(p => p.Element("LastAccessed"));
XDocument node = new XDocument(Doc.Descendants("KS").OrderByDescending(x => x.Element("Team").Element("LastAccessed").Value.Trim()));
子ノードに格納されている値に基づいて XML 親ノードをソートする方法について何か提案はありますか?