我有一个Xml文件中的记录列表,其中每条记录都是创建日期。请您建议我获取最新两条记录的有效方法。
Xml文件的教学内容如下:
<Records>
<Record>
<RecordID>1<RecordID>
<CreationDate>Apr 01, 2011 10:15 <CreationDate>
<Record>
<Record>
<RecordID>2<RecordID>
<CreationDate>Jan 12, 2011 10:15<CreationDate>
<Record>
<Record>
<RecordID>3<RecordID>
<CreationDate>Feb 12, 2011 09:00<CreationDate>
<Record>
.
.
.
.
many such records...
<Records>
将所有这个xml放入一个列表中,但是你可以告诉我从列表中提取最新的两个记录的有效方法。
谢谢。
答案 0 :(得分:0)
您需要将创建日期存储为DateTime对象而不是字符串。在Record类中实现比较创建日期的比较方法。然后,如果您将记录存储在列表中,您应该能够对其进行排序。在下面的示例中,最新记录将在最后,因此如果您需要它们,只需反转列表。
List<Records> recordList = parseXml(); // populate your list
recordList.Sort(new Comparison<Record>(Record.Comparison)); // sort in creation date ascending order
recordList.Revers(); // reverse the elements in the list
Record[] the2latest = new Record[2]{recordList[0], recordList[1]};
public partial class Record
{
public static int Comparison(Record r1, Record r2)
{
return DateTime.Compare(r1.creationDate, r2.creationDate);
}
}