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
——读取内联架构信息和数据,并尝试将其添加到数据集架构。如果数据集里已经有一个架构就会引发异常。