如何用ReadXml和WriteXml将xml的数据读取到DataSet中?请高手帮帮忙~~~

 我来答
th79d
2011-04-22 · TA获得超过265个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:258万
展开全部
使用DataSet的ReadXml方法填充DataSet,从文件、流或XmlReader中进行读取。根据所指定的XmlReadMode以及关系架构是否已存在,ReadXml方法读取XML流或文档的内容并将数据加载到DataSet中:
DataSet dataSet = new DataSet();
dataSet.ReadXml("input.xml", XmlReadMode.ReadSchema);
如果DataSet已经包含数据,会向已存在于DataSet中的数据添加XML中的新数据。ReadXml不会从XML向DataSet中并入任何具有匹配主键的行信息。若要使用XML中的新信息重写现有行信息,使用ReadXml创建一个新的DataSet,然后使用Merge将新DataSet并入现有DataSet。注意,如果使用XmlReadMode为DiffGram的ReadXML来加载DiffGram,将合并具有相同唯一标识符的行。
使用DataReader中的XML列值,SQL Server2008支持新的xml数据类型,开发人员可以使用SqlCommand类的标准行为检索类型的结果集。xml列可以像任意列一样进行检索,例如检索到SqlDataReader中,但要以XML的形式使用列内容,必须使用XmlReader。
若要将DataSet写入文件、流或XmlWriter,使用WriteXml方法。向WriteXml传递的第一个参数为XML输出的目标。例如,传递包含文件名的字符串、System.IO.TextWriter对象等。可以传递XmlWriteMode的另一个可选参数来指定如何编写XML输出。
下面是两行将DataSet的XML表示形式写入文件的代码。第一行代码将生成的XML文件名当作字符串传递到WriteXml。第二行代码传递一个StreamWriter对象。
custDS.WriteXml("Customers.xml", XmlWriteMode.WriteSchema);
System.IO.StreamWriter xmlSW = new System.IO.StreamWriter("Customers.xml");
custDS.WriteXml(xmlSW, XmlWriteMode.WriteSchema);
xmlSW.Close();
下表描述XmlReadMode参数的选项。这里无法插入表,具体是
Auto:这是默认设置。检查XML并选择最适合的选项。
ReadSchema: 读取内联架构并加载数据和架构。
IgnoreSchema: 忽略任何内联架构并将数据加载到现有的DataSet架构中。
InferSchema: 忽略任何内联架构并按照XML数据的结构推断架构,然后加载数据。
DiffGram: 读取DiffGram并将数据添加到当前架构中。DiffGram会将新行和唯一标识符值匹配的现有行合并。
Fragment: 持续读取多个XML片断,直至到达流的末尾。与DataSet架构匹配的片断会追加到相应的表。与DataSet架构不匹配的片断将被丢弃。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式