4

XDocumentC# では、 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 親ノードをソートする方法について何か提案はありますか?

4

2 に答える 2

0
var results = Doc.Root.Descendants("Team").OrderByDescending(p =>    (DateTime)p.Element("LastAccessed"));
于 2013-05-14T20:27:48.640 に答える