0

嗨,我有一个休息服务,其中有一个学生列表,每个学生都有一个附加到创建的日期时间。

在我的客户端,我想在这个日期时间之前从最新开始订购,在我的客户端,代码如下所示:

   public FindStudent()
    {
        InitializeComponent();
        string uriGroups = "http://localhost:8000/Service/Student";
        XDocument xDoc = XDocument.Load(uriGroups);

它列出了第一次创建的学生,我想了一会儿我可以在 orderby 查询中添加到 foreach var 节点,但我认为这行不通,无论如何我可以这样做吗?

4

3 回答 3

0

为了根据日期和时间对某些内容进行排序,您需要在 for-each 循环中将其转换为日期和时间,您只需遍历从 xml 文档中获取的纯文本,它不会被排序,因为它是文本,但您可以创建带有变量的学生类 Studentid, FirstName LastName" TimeAdded TimeAdded再次遍历文档,将所有信息写入对象学生将每个对象添加到列表中,按照您想要的方式对列表进行排序,然后我认为它应该按照您想要的顺序显示。

于 2012-04-17T03:19:15.563 回答
0

您可以按如下方式使用 Linq to XML

var temp = from feed in xDoc.Descendants("Students")
orderby Convert.ToDateTime(feed.Element("CreatDate").Value) descending
select new Student
{
    ID = Convert.ToInt32(feed.Element("ID").Value),
    //rest of the properties
};
于 2012-04-17T03:24:59.743 回答
0
XDocument xDoc = XDocument.Load(uriGroups); 
var sortedXdoc = xDoc.Descendants("Student")
               .OrderByDescending(x => Convert.ToDateTime(x.Element("TimeAdded").Value));
于 2012-04-17T06:08:32.980 回答