C#中DataTable与XML互转

  • Post author:
  • Post category:其他


 DataTable dtNow = new DataTable();

            dtNow.TableName = "MyTable";

            dtNow.Columns.Add("id");
            dtNow.Columns.Add("area");
            dtNow.Columns.Add("town");
            for (int i = 0; i < 3; i++)
            {
                DataRow row = dtNow.NewRow();
                int Area = 100 + i;
                string Town = ("China" + i).ToString();

                object[] objs = { Area, Town };
                //dr.ItemArray = objs;
                row["id"]=i;
                row["area"] = objs[0];
                row["town"] = objs[1];
                dtNow.Rows.Add(row.ItemArray);
            }
            dtNow.WriteXml(@"D:\kkdownload\牛牛上机题\WindowsFormsApp1\datatable.xml");

            //读取XML文件内容到DataTable  
            DataTable table = new DataTable();
            
           
            DataSet ds = new DataSet();//DataSet有自动推断功能:
            ds.ReadXml(@"D:\kkdownload\牛牛上机题\WindowsFormsApp1\datatable.xml");
            table =ds.Tables[0];

中途遇到两个错误:

1、无法序列化 DataTable。未设置 DataTable 名称。

解决办法: dtNow.TableName = “MyTable”,取一个名字就可以了

2、DataTable 不支持来自 Xml 的架构推断

解决办法: DataSet有自动推断功能,中途转换一下

另外参考(这里没验证):

http://t.csdn.cn/Xmyuo



版权声明:本文为qq_59062726原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。