C# 使用特定节点值对XmlNodeList进行排序

C# 使用特定节点值对XmlNodeList进行排序,c#,xml,sorting,xmldocument,xmlnodelist,C#,Xml,Sorting,Xmldocument,Xmlnodelist,我在网上搜索了这个问题,但找不到任何相关的解决方案 我有以下XML <Table> <Entity>Employee</Entity> <EntityID>2786</EntityID> <Goal> <GoalId>31931</GoalId> <FilterData>LastModifiedOn¥2014-03-20T18:11:01

我在网上搜索了这个问题,但找不到任何相关的解决方案

我有以下XML

  <Table>
    <Entity>Employee</Entity>
    <EntityID>2786</EntityID>
    <Goal>
      <GoalId>31931</GoalId>
      <FilterData>LastModifiedOn¥2014-03-20T18:11:01.0000000+05:30ÆActiveTaskCount¥0</FilterData>
    </Goal>
    <Goal>
      <GoalId>31932</GoalId>
      <FilterData>LastModifiedOn¥2014-03-22T15:26:09.0000000+05:30ÆActiveTaskCount¥0</FilterData>
    </Goal>
    <Goal>
      <GoalId>31932</GoalId>
      <FilterData>LastModifiedOn¥2014-03-22T09:25:00.0000000+05:30ÆActiveTaskCount¥0</FilterData>
    </Goal>
  </Table> 
现在我正在使用System.XML名称空间进行操作。我还研究了LINQ到XML,但我无法使其工作

我通过以下代码获取XMLNodelist

XmlNodeList GoalNodeList=
doc.DocumentElement.SelectNodes(“/NewDataSet/Table[Entity='Employee'和EntityID='”+EntityID+“]/Goal”)

这里我想要排序的目标(关于
LastModifiedOn

我也看了一些有用的链接,但到目前为止还没有任何想法


  • 我准备将代码转换为
    LINQ to XML
    ,但需要一个简单的示例。

    您可以尝试创建一个键值对集合,其中键是目标,值是日期。然后,您可以通过比较日期来重写CompareTo方法,然后只需使用[collection name].Sort()。希望这有帮助

    nodevalue.Split('Æ')[0].Split('¥')[1]