.net中如何取出xml中最后10条信息(也就是最新信息)

解决方案 »

  1.   

    <news>
    <new id="1">
       <title>Test</title>
        <content>asdfsadfsadgsdagsdg</content>
        <time>2010-11-18 15:40:25</time>
      </new>
      <new id="2">
        <title>hhhhhh</title>
        <content>jjjjjjjjj</content>
        <time>2010-11-18 15:42:17</time>
      </new>
      <new id="3">
        <title>qqqqqq</title>
        <content>sssssssss</content>
        <time>2010-11-18 15:42:49</time>
      </new>
      <new id="4">
        <title>sssssssss</title>
        <content>ddddddddddd</content>
        <time>2010-11-18 15:46:30</time>
      </new>
      <new id="5">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
      <new id="6">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
      <new id="7">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
      <new id="8">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
      <new id="9">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
      <new id="10">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
      <new id="11">
        <title>nihaoya</title>
        <content>ffffffff</content>
        <time>2010-11-18 15:50:37</time>
      </new>
    </news>
      

  2.   

    xml
    首先用lastchild取最后一条,即最新条
    然后用当前节点的previousSibling取上一样,依次类推,直至满10条或者用childNodes集合
    再用 for (var i=集合.length-1;i=0;i--)
      

  3.   

    LinqToXml如下,先按照时间进行排序,然后去前10个            XDocument xDoc = XDocument.Load("D:\\aa.xml");            var mySet = xDoc.Elements("new").OrderByDescending(x => DateTime.Parse(x.Element("time").Value))
                    .Take(10)
                    .Select(x => new {
                        title = x.Element("title").Value,
                        content = x.Element("content").Value,
                        time = x.Element("time").Value
                    }).ToList();
      

  4.   

    上面的有点小bug,正确的如下            var mySet = xDoc.Element("news").Elements("new").OrderByDescending(x => DateTime.Parse(x.Element("time").Value))
                    .Take(10)
                    .Select(x => new {
                        title = x.Element("title").Value,
                        content = x.Element("content").Value,
                        time = x.Element("time").Value
                    }).ToList();
      

  5.   

    不用linq,用document这种方式遍历,怎么弄?
      

  6.   


     XmlDocument XmlDoc = new XmlDocument();            XmlNodeList list = XmlDoc.GetElementsByTagName("new");
      for (int i = list.Count; i > list.Count-10; i++)
            {
             }