请教如何实现:
有个XML的内容如下
 <UserItem>
    <datetime>2012-30-01 11:00:00</datetime>
    <address>广东省</address>    
  </UserItem>
    <UserItem>
    <datetime>2012-31-01 12:00:00</datetime>
    <address>广东省</address>    
  </UserItem>
  <UserItem>  
    <datetime>2012-31-01 13:00:00</datetime>
    <address>广东省</address>    
  </UserItem>
  <UserItem>
    <datetime>2012-32-01 11:32:43</datetime>
    <address>四川省</address>    
  </UserItem>
  <UserItem>需要输出成如下内容
  <UserItem>
    <begin_datetime>2012-30-01 11:00:00</begin_datetime>
    <end_datetime>2012-31-01 13:00:00</end_datetime>
    <address>广东省</address>    
  </UserItem>
  <UserItem>
    <begin_datetime>2012-32-01 11:32:43</begin_datetime>
    <end_datetime>2012-32-01 11:32:43</end_datetime>
    <address>四川省</address>    
  </UserItem>
  <UserItem>主要是以address分组。将把最早和最晚两个时间填写到begin_datetime和end_datetime。

解决方案 »

  1.   

    http://topic.csdn.net/u/20120524/10/0588ab9d-5d2c-4698-8901-bb6333142d3c.html
     回复下,,我结贴
      

  2.   

    xml.Elements("UserItem").GroupBy(x => x.Element("address").Value).Select(x => new
                {
                    address = x.Key,
                    begin_datetime = x.Min(y => DateTime.Parse(y.Element("datetime").Value)),
                    end_datetime = x.Max(y => DateTime.Parse(y.Element("datetime").Value))
                }).ToList();