现有一个XML文件a1.xml,我把它作为数据存储。然后在自己的网站首页中写入如下代码:
void Page_Load(object sender, EventArgs e)
    {
        string dataFile = Server.MapPath("a1.xml");
        System.Data.DataSet ds = new System.Data.DataSet();
        ds.ReadXml(dataFile);        System.Data.DataView pp = new System.Data.DataView(ds.Tables[0]);
        pp.Sort = "ID desc";
        
        repeater1.DataSource = pp;
        repeater1.DataBind();
    }
这样可以实现a1.xml数据在首页的显示。现在我想,如果我有另一个a2.xml文件,我也想同样让它显示在此repeater中,代码如果写成,
void Page_Load(object sender, EventArgs e)
    {
        string dataFile = Server.MapPath("a1.xml");
        System.Data.DataSet ds = new System.Data.DataSet();
        ds.ReadXml(dataFile);
        string dataFile2= Server.MapPath("a2.xml");
        System.Data.DataSet ds2= new System.Data.DataSet();
        ds2.ReadXml(dataFile);        System.Data.DataView pp = new System.Data.DataView(ds.Tables[0]);
        pp.Sort = "ID desc";
        System.Data.DataView pp2 = new System.Data.DataView(ds2.Tables[0]);
        pp2.Sort = "ID desc";
        
        pp.Datasource=pp2;
        repeater1.DataSource = pp;
        repeater1.DataBind();
    }
不能正确显示出来,有什么办法吗?我想达到的目的是,不管我在a1或a2中哪个添加内容,都会显示在首页的repeater中,可以吗?

解决方案 »

  1.   

    你可以把两个xml合并呀,参考--http://www.cnblogs.com/fengzhimei/archive/2004/04/21/6841.html
      

  2.   

    you cannot set two datasource, if the schemas for the two files are same, since you are already using DataSet, use its Merge method string dataFile = Server.MapPath("a1.xml");
            System.Data.DataSet ds = new System.Data.DataSet();
            ds.ReadXml(dataFile);
            string dataFile2= Server.MapPath("a2.xml");
            System.Data.DataSet ds2= new System.Data.DataSet();
            ds2.ReadXml(dataFile); ds.Merge(ds2);  System.Data.DataView pp = new System.Data.DataView(ds.Tables[0]);
            pp.Sort = "ID desc";
            
            repeater1.DataSource = pp;
            repeater1.DataBind();
      

  3.   

    ds.Merge(ds2);
    ds.Merge(ds3);
    ds.Merge(ds4);
    ds.Merge(ds5);
    ……
    这样吗?
      

  4.   

    ds2.ReadXml(dataFile);这句dataFile后面少了个2:)接分