2013-08-29 4 views
-3

У меня есть XML, как показано нижеLinq запросов для XML

<Employees> 
    <Employee> 
     <ID>1</ID> 
     <Address> 
      <City>Bangalore</City> 
      <CreatedOn>1-1-2012</CreatedOn> 
     </Address> 
     <Address> 
      <City>Pune</City> 
      <CreatedOn>1-10-2012</CreatedOn> 
     </Address> 
    </Employee> 
    <Employee> 
     <ID>2</ID> 
     <Address> 
      <City>Hyd</City> 
      <CreatedOn>1-1-2009</CreatedOn> 
     </Address> 
     <Address> 
      <City>Bombay</City> 
      <CreatedOn>1-1-2010</CreatedOn> 
     </Address> 
    </Employee> 
</Employees> 

Я хочу иметь запрос Linq в C# для retrive записи сотрудника с адресом узла, который имеет самую последнюю дату createon.

Не могли бы вы помочь мне написать запрос Linq.

Заранее спасибо за помощь

+7

Cmon! Попытайтесь сделать это в Google :) Есть много самп. –

+1

tl; dr Разработчики третьего мира хотят, чтобы мы сделали для них домашнюю работу, несмотря на то, что разработчикам никогда не было так легко получить ответы на эти тривиальные проблемы. – Gusdor

ответ

1
string xml="<Employees><Employee><ID>1</ID><Address><City>Bangalore</City><CreatedOn>1-1-2012</CreatedOn></Address><Address><City>Pune</City><CreatedOn>1-10-2012</CreatedOn></Address></Employee><Employee><ID>2</ID><Address><City>Hyd</City><CreatedOn>1-1-2009</CreatedOn></Address><Address><City>Bombay</City><CreatedOn>1-1-2010</CreatedOn></Address></Employee></Employees>"; 

XElement xe = XElement.Parse(xml); 

var query = xe 
.Elements("Employee") 
.Select 
(
    x=> new 
    { 
     Addresses = x.Elements("Address") 
     .Select 
     (
      z=>new 
      { 
       ID = x.Element("ID").Value, 
       City = z.Element("City").Value, 
       CreatedOn = z.Element("CreatedOn").Value 
      } 
     ).ToList() 
    } 
) 
.SelectMany (X=>X.Addresses); 

var record = query.Where (q => DateTime.Parse(q.CreatedOn)==query.Max (x => DateTime.Parse(x.CreatedOn))).SingleOrDefault(); 

Console.WriteLine("{0},{1},{2}",record.ID,record.City,record.CreatedOn); 
+0

Он ничего не возвращает ... –

+0

Я пропустил часть о том, где .... –

+0

Good One +1 .... !! –

Смежные вопросы