将SQL CE数据序列化为XML
时间:2020-03-05 18:56:49 来源:igfitidea点击:
我正在开发一项产品功能,该功能将允许用户从应用程序的一个副本上的SQL CE数据库中导出数据,然后在另一端将其重新导入到SQL CE中。该数据不是整个表,而是查询的结果。
我曾希望像DataTable.WriteXML中那样利用.net内置的基于XML的序列化。但是,没有一种针对SqlCeCommand执行查询的方法提供了一种明显的方式来序列化为XML或者提取DataTable,这可以提供该方法。
有什么我想念的吗?我必须编写自己的序列化/反序列化方法还是有内置的方法。
解决方案
回答
我认为我们可以将数据检索到数据集,在其上调用WriteXML,然后在另一端声明一个新的数据集,并在其上调用ReadXML。
回答
我们想创建一个SqlCeDataAdapter并使用它.Fill()一个数据集。然后通过它的.WriteXml()方法序列化整个数据集。
回答
假设cmd是SqlCeCommand。
using(var dr = cmd.ExecuteReader()) { DataSet ds = new DataSet(); DataTable dt = ds.Tables.Add(); dt.Load(dr); ds.WriteXML(...); }