开发者

Getting Latest Records

I have list of records in a Xml file,where each record as its date of creation.Can you please suggest me an efficient way in getting the latest two records.

Xml File can be taught of as below:

<Records>
    <Record>
        <RecordID>1<RecordID&开发者_开发知识库gt;
        <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>

Will take all this xml into a list,but then can u tell me a efficient way in extracting latest two records out of the list.

Thank you.


You need to store the creation date as a DateTime object and not as a string. Implement a comparison method in your Record class that compares the creation dates. Then if you store your records in a list you should be able to sort it. In the example below the latest records will be at the end, so if you want them just reverse the list.

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);
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜