日期:2014-05-17  浏览次数:20885 次

如何将数据保存为xml保存之后再将它读出来
各位朋友 小弟初学c# 刚用winform写了个程序 要将dataGridView 中的两张表 StuInfo 和StuInfo_1 里面的数据 写到xml。然后从xml读取出来。
我看过网上一些大侠的代码 试着这么写的:
  DataTable StudentInfo = new DataTable();
  StudentInfo.Columns.Add("专业");
  StudentInfo.Columns.Add("班级");
  StudentInfo.Columns.Add("学号");
  StudentInfo.Columns.Add("姓名");
  StudentInfo.Columns.Add("性别");
  StudentInfo.Columns.Add("出生日期");

  DataRow row = StudentInfo.NewRow();
  StudentInfo.Rows.Add(row);
  StudentInfo.Rows[StudentInfo.Rows.Count - 1][0] = this.专业.DataGridView;
  StudentInfo.Rows[StudentInfo.Rows.Count - 1][1] = this.班级.DataGridView;
  StudentInfo.Rows[StudentInfo.Rows.Count - 1][2] = this.学号.DataGridView;
  StudentInfo.Rows[StudentInfo.Rows.Count - 1][3] = this.姓名.DataGridView;
  StudentInfo.Rows[StudentInfo.Rows.Count - 1][4] = this.性别.DataGridView;
  StudentInfo.Rows[StudentInfo.Rows.Count - 1][5] = this.出生日期 .DataGridView;


  DataSet ds = new DataSet();
  ds.Tables.Add(StudentInfo);
  //我将它保存到桌面了。
  ds.WriteXml(@"C:\Documents and Settings\Administrator\桌面\1.xml", XmlWriteMode.DiffGram);
 结果差强人意 。我知道思路与代码完全写分开了我是要将dataGridView 中已有数据保存为xml 文件,不是要新建行列字段 。请各位大侠 指点 我该如何写这个程序,万分感谢!

------解决方案--------------------
你直接将绑定在dataGridView 上的数据源写入XML就可以了
this.dataGridView1.DataSource = ds.Tables[0];
ds.WriteXml(@"C:\Documents and Settings\Administrator\桌面\1.xml", XmlWriteMode.DiffGram);

------解决方案--------------------
DataSet的ReadXml
------解决方案--------------------
DataTable.ReadXml WriteXML
------解决方案--------------------
你的dataGridView 是怎么绑定的啊
如果是绑定的DataTable
那你就直接 用你绑定的数据源 dt.WriteXml,就行了。不用重新写列

如果绑定的是List<Class>,你可以转成DataTable再WriteXml..


------解决方案--------------------
C# code
DataTable dt=(DataTable)dataGridView.DataSource;
  ds.Tables.Add(dt);
  //我将它保存到桌面了。
  ds.WriteXml(@"C:\Documents and Settings\Administrator\桌面\1.xml", XmlWriteMode.DiffGram);

------解决方案--------------------
有异常 你贴出来看啊