我在网上搜索了这个,但我找不到任何相关的解决方案。
我有以下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>
从上面的XML读取数据时,我得到了2个单独的DataTables
; 1为员工,另一个为相关目标。
我需要的是我想要从LastModifiedOn
节点对与FilterData
{}相关的所有目标进行排序。
注意:我通过拆分节点值获取LastModifiedOn值,如此
nodevalue.Split('Æ')[0].Split('¥')[1]
现在我正在使用System.XML命名空间来执行操作。我还查看了LINQ TO XML,但我无法使其工作。
我按照代码
获取XMLNodelist XmlNodeList GoalNodesList = doc.DocumentElement.SelectNodes("/NewDataSet/Table[Entity='Employee' and EntityID='" + EntityId + "']/Goal");
在这里,我想要排序目标(相对于LastModifiedOn
)。
我还查看了一些有用的链接,但到目前为止还没有任何想法
我已准备好将代码转换为LINQ TO XML
,但需要一个简短的示例。
答案 0 :(得分:0)
您可以尝试的一件事是创建一组键值对,其中键是目标,值是日期。然后,您可以通过比较日期来覆盖CompareTo方法,然后您可以使用[集合名称] .Sort()。希望这有帮助