首页 新闻 搜索 专区 学院

Dataset与XML文件读写

0
悬赏园豆:10 [已解决问题] 解决于 2012-01-05 11:45

我写的一个dataset向xml中写入数据,用的是dataset.writexml()方法,我的dataset中有200个table,导出到xml中却会丢失一大半table,遗失了不少数据;

求助各位大神,怎么让dataset导出xml文件是完整的dataset数据呢,望不吝赐教!!!

c#
烟霞的主页 烟霞 | 初学一级 | 园豆:166
提问于:2012-01-04 22:33
< >
分享
最佳答案
0
dataset.WriteXml(@"c:\xml.xml", XmlWriteMode.WriteSchema);  
XmlWriteMode枚举通常是作为DataSet.WriteXml()方法的第二个参数使用。它决定使用哪种格式保存XML
IgnoreSchema——默认值。只写数据集的数据,不带有任何架构信息。如果数据集内无数据则不生成文件。
WriteSchema——在向.xml文件写入数据集的数据的同时将数据集的架构信息写入.xsd文件。
DiffGram——同时写入原始数据和当前数据。
 
那么如何在XmlWriteMode.WriteSchema模式和XmlWriteMode.DiffGram模式之间做出正确选择呢?
 
使用XmlWriteMode.WriteSchema模式可以得到一个几乎完整的数据集,包括架构和数据,但是数据只有当前值。XmlWriteMode.DiffGram模式能够获得数据集中的所有值,包括当前值和原始值,但是这种模式没有数据集架构。具体选择哪种模式要看目的是什么。如果希望用XML填充一个新的DataSet,在这个新的DataSet里都是完全干净的行,那么就应该采用XmlWriteMode.WriteSchema模式。如果目的是利用XML文件在不同数据集之间传递更改,那么就应该选择XmlWriteMode.DiffGram模式。
         
dataset.ReadXml(@"c:\xml.xml", XmlReadMode.ReadSchema);
收获园豆:10
NetSQL | 小虾三级 |园豆:1537 | 2012-01-05 01:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册