用DataSet里的GetXML()函数返回的String值,然后想通过这个还原一个新的DataSet,应该怎么做?麻烦给短代码,谢谢。

解决方案 »

  1.   

    回不去咯自己new一个DataSet,往里面填充吧。
      

  2.   

     DataSet genders = new DataSet();            genders.Tables.Add("Gender");
                genders.Tables[0].Columns.Add("Flag", typeof(Int32));
                genders.Tables[0].Columns.Add("Gender", typeof(String));            DataRow dr1 = genders.Tables[0].NewRow();
                dr1["Flag"] = 1;
                dr1["Gender"] = "男";
                genders.Tables[0].Rows.Add(dr1);            DataRow dr2 = genders.Tables[0].NewRow();
                dr2["Flag"] = 0;
                dr2["Gender"] = "女";
                genders.Tables[0].Rows.Add(dr2);            string temp = genders.GetXml();            
                StringReader stream = null;
                XmlTextReader reader = null;
                try
                {
                    DataSet xmlDS = new DataSet();
                    stream = new StringReader(temp);
                    //从stream装载到XmlTextReader
                    reader = new XmlTextReader(stream);
                    xmlDS.ReadXml(reader);
                   
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (reader != null) reader.Close();
                }大概的实现过程就是这样,看看吧,
      

  3.   

    如果想用两个一模一样的dataset,我想下面这种方法更简单private void Form1_Load(object sender, EventArgs e)
            {
                DataSet genders = new DataSet();            genders.Tables.Add("Gender");
                genders.Tables[0].Columns.Add("Flag", typeof(Int32));
                genders.Tables[0].Columns.Add("Gender", typeof(String));            DataRow dr1 = genders.Tables[0].NewRow();
                dr1["Flag"] = 1;
                dr1["Gender"] = "男";
                genders.Tables[0].Rows.Add(dr1);            DataRow dr2 = genders.Tables[0].NewRow();
                dr2["Flag"] = 0;
                dr2["Gender"] = "女";
                genders.Tables[0].Rows.Add(dr2);            DataSet dt = new DataSet();
    //merge方法,将 DataRow 对象数组合并到当前的 DataSet 中。             dt.Merge(genders);
            }