XmlWriteMode和XmlReadMode的作用是什么?

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 模式。
 
XmlReadMode 枚举通常用于 DataSet.ReadXml() 方法的第二个参数。它决定如何将 XML 读入数据集:
 
Auto ——默认值。数据集会尝试读取 XML 的最佳方案。
DiffGram ——读取 DiffGram ,并将其中的更改应用于 DataSet RowState 予以保留。
Fragment ——读取 XML 文档。任何内联命名空间将作为架构读入。主要用于读取标准 XML 文档。
IgnoreSchema ——忽略架构,并试图将 XML 读入现有数据集架构,不符合现有架构的数据被丢弃。如果数据集没有任何架构,那么所有数据全部被丢弃。
InferSchema ——忽略 XML 的所有架构信息,而且根据 XML 的数据推断架构。
ReadSchema ——读取内联架构信息和数据,并尝试将其添加到数据集架构。如果数据集里已经有一个架构就会引发异常。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值