您的位置:首页 > 其它

XmlWriteMode和XmlReadMode的作用是什么?

2008-03-08 14:47 465 查看
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——读取内联架构信息和数据,并尝试将其添加到数据集架构。如果数据集里已经有一个架构就会引发异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐