我现在使用的方法是REPEATER分页。但是我觉得很浪费,因为我只需要显示最新的5条记录,但是不需要在它下面出现“下一页、上一页、首页、尾页”之类的效果。这样采用分页不是浪费吗?有什么别的方法可以单单读取XML中最新的5条,而不用分页呢?
启发也有分!

解决方案 »

  1.   

    dataSet.ReadXml(path);
    DataView dv=dataSet.Tables[0].DefaultView;
    dv.Rowfilter="id<6";
    Repeater.DataSource=dv;
    Repeater.DataBind();
      

  2.   

    xmldom.selectNodes("//nodeName[index()<5]");
      

  3.   

    XmlDocument doc=new XmlDocument();
    doc.Load(@"e:\employees.xml");
    //选择前5个employees节点
    XmlNodeList nodes=doc.SelectNodes("//employees[position()<6]");
    foreach(XmlNode node in nodes)
    Console.WriteLine(node.ChildNodes[0].InnerText);
    -------------------------------------
    测试XML文件:
    <?xml version="1.0" standalone="yes"?>
    <NewDataSet>
      <employees>
        <EmployeeID>1</EmployeeID>
        <LastName>Davolio</LastName>
        <FirstName>Nancy</FirstName>
        <Title>Sales Representative</Title>
      </employees>
      <employees>
        <EmployeeID>2</EmployeeID>
        <LastName>Fuller</LastName>
        <FirstName>Andrew</FirstName>
        <Title>Vice President, Sales</Title>
      </employees>
      <employees>
        <EmployeeID>3</EmployeeID>
        <LastName>Leverling</LastName>
        <FirstName>Janet</FirstName>
        <Title>Sales Representative</Title>
      </employees>
      <employees>
        <EmployeeID>4</EmployeeID>
        <LastName>Peacock</LastName>
        <FirstName>Margaret</FirstName>
        <Title>Sales Representative</Title>
      </employees>
      <employees>
        <EmployeeID>5</EmployeeID>
        <LastName>Buchanan</LastName>
        <FirstName>Steven</FirstName>
        <Title>Sales Manager</Title>
      </employees>
      <employees>
        <EmployeeID>6</EmployeeID>
        <LastName>Suyama</LastName>
        <FirstName>Michael</FirstName>
        <Title>Sales Representative</Title>
      </employees>
      <employees>
        <EmployeeID>7</EmployeeID>
        <LastName>King</LastName>
        <FirstName>Robert</FirstName>
        <Title>Sales Representative</Title>
      </employees>
      <employees>
        <EmployeeID>8</EmployeeID>
        <LastName>Callahan</LastName>
        <FirstName>Laura</FirstName>
        <Title>Inside Sales Coordinator</Title>
      </employees>
      <employees>
        <EmployeeID>9</EmployeeID>
        <LastName>Dodsworth</LastName>
        <FirstName>Anne</FirstName>
        <Title>Sales Representative</Title>
      </employees>
    </NewDataSet>
    ------------------
    显示结果:
    1
    2
    3
    4
    5
      

  4.   

    我的XML文件:
    <?xml version="1.0" encoding="utf-8"?>
    <list>
      <theme>
        <click>1</click>
        <title>街球族将技术玩成艺术</title>
        <ID>6001</ID>
        <sort>0</sort>
        <date>
        </date>
        <datetime>2004-10-27</datetime>
        <pic>0</pic>
        <btype>StreetBall</btype>
          <ctype>街舞风雷</ctype>
      </theme>
      <theme>
        <click>2</click>
        <title>街头篮球术语</title>
        <ID>6002</ID>
        <sort>0</sort>
        <date>
        </date>
        <datetime>2004-10-27</datetime>
        <pic>0</pic>
        <btype>StreetBall</btype>
          <ctype>街舞风雷</ctype>
      </theme>
      <theme>
        <click>1</click>
        <title>街头球魂street basketball</title>
        <ID>6003</ID>
        <sort>0</sort>
        <date>
        </date>
        <datetime>2004-10-27</datetime>
        <pic>0</pic>
        <btype>StreetBall</btype>
          <ctype>街舞风雷</ctype>
      </theme>
      <theme>
        <click>1</click>
        <title>街头篮球——舞风弄雷</title>
        <ID>6004</ID>
        <sort>0</sort>
        <date>
        </date>
        <datetime>2004-10-27</datetime>
        <pic>0</pic>
        <btype>StreetBall</btype>
          <ctype>街舞风雷</ctype>
      </theme>
      <theme>
        <click>2</click>
        <title>街头篮球的发展</title>
        <ID>6005</ID>
        <sort>0</sort>
        <date>
        </date>
        <datetime>2004-10-27</datetime>
        <pic>0</pic>
        <btype>StreetBall</btype>
          <ctype>街舞风雷</ctype>
      </theme>
    </list>
    我想显示成的是,一个TR里,分3个TD;
    第一个TD显示的是前5条的TITLE节点的值;第2个是显示DATETIME;第3个是显示CLICK
      

  5.   

    BearRui(孤熊 | 爱情!它把我给忘了!) 兄,你真是XML王子吖,哈哈
      

  6.   

    you can bind a XmlNodeList to a repeater
    ....
    XmlNodeList nodes=doc.SelectNodes("//employees[position()<6]");Repeater1.DataSource = nodes;
    Repeater1.DataBind();
    see
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspn-hierdatabinding.asp
      

  7.   

    BearRui(孤熊 | 爱情!它把我给忘了!) ,XML每添加一条记录不是显示在下面吗?比如在你的XML例子里,我应该说要求显示的是
    9
    8
    7
    6
    5
    那应该怎么写呢?而且不能写一个定值啊,毕竟会随时增加记录的啊!
      

  8.   

    XmlDocument doc=new XmlDocument();
    doc.Load(@"e:\employees.xml");
       
    XmlNodeList nodes=doc.SelectNodes("//employees[position()>(last()-5)]");
    foreach(XmlNode node in nodes)
    Console.WriteLine(node.ChildNodes[0].InnerText);-------------
    显示结果:
    5
    6
    7
    8
    9
    ----------------
    如果想要显示
    9
    8
    7
    6
    5更改一下foreach(XmlNode node in nodes)的循环方式。for(int i=nodes,Count-1;i>=0;i--)
      Console.WriteLine(nodes[i].ChildNodes[0].InnerText);
      

  9.   

    {
        void Page_Load(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("admin/data/Personnel.xml"));
            //选择前5个employees节点
            XmlNodeList nodes = doc.SelectNodes("//theme[position()<6]");        Table tb=new Table();
            TableRow tr=new TableRow();
            TableCell tc = new TableCell();
            foreach (XmlNode node in nodes)
            tc.Controls.Add(node.ChildNodes[0].InnerText);
    }这么写怎么不行啊?
    Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.UI.ControlCollection.Add(System.Web.UI.Control)' has some invalid arguments
      

  10.   

    tc.Controls.Add(node.ChildNodes[0].InnerText);这个方法有问题。
    Controls.Add方法是添加控件,而node.ChildNodes[0].InnerText只是字符串,
    和add方法的参数不匹配!!!
      

  11.   

    我想实现的效果是在aspx页里
    <tr><td>显示9</td></tr>
    <tr><td>显示8</td></tr>
    <tr><td>显示7</td></tr>
    <tr><td>显示6</td></tr>
    <tr><td>显示5</td></tr>
      

  12.   

    这个就不是很清楚了,我不懂!!!为什么不用绑定了,把找到的记录绑定到datagrid的或Repeater了!!!
      

  13.   

    将XML中的数据先读到数据集中吧,再用DataView的Sort属性排序功能,再用RowFilter属性指定条件。只取你想要的。
      

  14.   

    因为我一个页面要有8个这样的REPEATER,消耗实在太大吧?所以想找个消耗小的办法