Linq到XML获取更新的日期元素

Linq到XML获取更新的日期元素,xml,linq,date,get,Xml,Linq,Date,Get,我得到了XML。要求是: 我想从Linq到XML查询中获取更新的日期/大日期。例如,我想得到最后一个节点。“2011-11-12 15:53:13” 请帮忙 您是在查找整个元素,还是只查找日期本身?对于日期,很容易: <Itinerary Id="34" Code="2010STAN" Modified="2010-09-07 16:58:35"> <Itinerary Id="34" Code="2010STAN" Modified="2010-11-12 15:53

我得到了XML。要求是:

我想从Linq到XML查询中获取更新的日期/大日期。例如,我想得到最后一个节点。“2011-11-12 15:53:13”


请帮忙

您是在查找整个元素,还是只查找日期本身?对于日期,很容易:

    <Itinerary Id="34" Code="2010STAN" Modified="2010-09-07 16:58:35">
<Itinerary Id="34" Code="2010STAN" Modified="2010-11-12 15:53:13">
<Itinerary Id="34" Code="2010STAN" Modified="2011-11-12 15:53:13">
要获取包含最新日期的元素,您必须对它们进行排序并获取第一个元素,例如

var maxDate = list.Select(x => (DateTime) x.Attribute("Modified"))
                      .Max();
或者使用类似以下内容:


非常感谢XXXXXXXXXX。。。必须至少有一个对象实现IComparable。我的代码是:'var t=(从xmlDoc.subjections(“行程”)中的resp_tourCodes中选择resp_tourCodes)。OrderByDescending(x=>x.Attribute(“Modified”)。First();'@穆罕默德:是的,你没有使用我给你的密码。。。根据我的回答,您需要将属性强制转换为
DateTime
。请注意,您的查询表达式是毫无意义的-您可以只使用
var t=xmlDoc.subjects(“行程”).OrderByDescending(x=>(DateTime)x.Attribute(“Modified”).First()
var maxElement = list.OrderByDescending(x => (DateTime) x.Attribute("Modified"))
                     .First();
var maxElement = list.MaxBy(x => (DateTime) x.Attribute("Modified"));