将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(...);
}