小编use*_*244的帖子

如何根据子节点对XDocument父节点进行排序?

在c#中,我试图使用OrderByDesending对XDocument进行排序.目标是读取一个包含日期\时间戳的子节点,并重新排序父节点.

我从保存的文件中加载XML,如下所示:

XDocument Doc = new XDocument();
Doc= XDocument.Load(filename);
Run Code Online (Sandbox Code Playgroud)

这是我的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>
Run Code Online (Sandbox Code Playgroud)

我想根据子元素重新排序降序

我没有运气就试过以下

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()));
Run Code Online (Sandbox Code Playgroud)

有人建议如何根据存储在子节点中的值对XML父节点进行排序?

c# xml linq linq-to-xml

3
推荐指数
1
解决办法
2523
查看次数

标签 统计

c# ×1

linq ×1

linq-to-xml ×1

xml ×1