DataSet与Xml之间的转换

DataSet转化为Xml,Xml转化为DataSet,Ado.net中使用方法DataSet.WriteXml()和DataSet.ReadXml(),由于有多个重载方法,所以这里有多条路径可以实现,可谓条条大道通罗马。这里我就把所有的用法来尝试下,希望给大家有个借鉴作用。     

因为DataSet.ReadXml()和DataSet.WriteXml()共8种重载方法,前四种是不带架构的,后四种带架构。这里举出带架构的4种方法。      

/// <summary>         /// DataSet和Xml之间的转换         /// </summary>         /// <param name="sender"></param>         /// <param name="e"></param>         private void DsAndXml_Click(object sender, EventArgs e)        

{             //自定义一个DataSet,里面有一列a,一行值为"hello world!",Xml数据从这个数据集中来读取            

DataSet dsWrite = new DataSet();            

DataTable dt = new DataTable();            

 dt.Columns.Add("a", typeof(string));            

DataRow dr = dt.NewRow();            

dr[0] = "hello world!";            

 dt.Rows.Add(dr);            

dsWrite.Tables.Add(dt);            

//自定义一个DataSet用来从xml中读取数据            

DataSet dsRead = new DataSet();            

 int k = Convert.ToInt32(this.textBox1.Text.ToString());       

  switch(k)            

 {           case 1:

 Stream stream = new FileStream(@System.AppDomain.CurrentDomain.BaseDirectory.ToString()+"Test.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);                    

//dsWrite.WriteXml(stream);                 

 dsWrite.WriteXml(stream, XmlWriteMode.WriteSchema);                 

 stream.Close();                     

 dsRead.ReadXml(@System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Test.txt");                    

break; 

case 2:

dsWrite.WriteXml(@System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Test.txt");                       

dsRead.ReadXml(@System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Test.txt");                    

break; 

case 3: 

StringBuilder s1 = new StringBuilder();                    

TextWriter tw1 = new StringWriter(s1);                    

 System.Xml.XmlTextWriter xtw1= new System.Xml.XmlTextWriter(tw1);                    

dsWrite.WriteXml(xtw1,XmlWriteMode.WriteSchema);                    

string xml1 = s1.ToString();                     //读入                    

TextReader tr1 = new StringReader(xml1);                    

dsRead.ReadXml(tr1,XmlReadMode.ReadSchema);                    

 //System.Xml.XmlReader xr = System.Xml.XmlReader.Create(tr1);                    

//dsRead.ReadXml(xr);                                       

break;                

case 4:

StringBuilder s = new StringBuilder();                    

 TextWriter tw = new StringWriter(s);                    

dsWrite.WriteXml(tw, XmlWriteMode.WriteSchema);                    

string xml = s.ToString();                   

TextReader tr = new StringReader(xml);                    

dsRead.ReadXml(tr,XmlReadMode.ReadSchema);                    

 break;                

 default:                    

break;              

}        

}     


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/feijian14/archive/2008/06/28/2593930.aspx

转载于:https://www.cnblogs.com/uwking/archive/2011/04/13/2014584.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

和套套一样,一次性橡胶手套制作现场, 这鬼畜的画风

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;普象工业设计小站ID&#xff1a;iamdesign如果说套套的制作过程很羞羞那同为乳胶制品的乳胶手套制作过程则可以用魔性甚至惊悚来说走进乳胶手套制作的工厂里迎面而来的是数不清的白色之手不停地在转啊转、甩啊甩这画面不…

Installing OpenCV 2.3.1 in Ubuntu

step1&#xff1a;下载 从http://sourceforge.net/projects/opencvlibrary 下载OpenCV源码&#xff0c;下载文件为OpenCV-2.3.1a.tar.bz2。 cd ~ wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.1/OpenCV-2.3.1a.tar.bz2/download step2&#xff1a;…

Magicodes.IE 2.5.6.1发布

2.5.6.12021.10.06修复 #337&#xff0c;bool?类型导出的映射问题2.5.6.02021.10.05合并Magicodes.EPPlus到Magicodes.IE&#xff0c;修复所有单元测试并修复部分Bug对EPPlus进行了部分性能优化&#xff08;比如使用高性能内存流代替MemoryStream&#xff09;和功能加强2.5.5.…

OpenSSL--Window生成证书实战

为什么80%的码农都做不了架构师&#xff1f;>>> Windows下使用OpenSSL生成自签证书&#xff08;亲测&#xff09; 一&#xff0c;前言 经常写博客的小伙伴儿都知道&#xff0c;大家一般在前言里面会提到为什么写这篇博客&#xff0c;而我这篇博客 主要是探讨OpenSS…

python绘制反比例函数_描点法画反比例函数图像的动态演示——数学软件GeoGebra制作教程...

Gif动态图又又又上传不成功了&#xff0c;建议跳转链接查看全文&#xff1a;描点法画反比例函数图像的动态演示--数学软件GeoGebra制作教程​www.toutiao.com关于描点法画函数图像&#xff0c;前面已有三篇&#xff0c;包括以一次函数为例的&#xff1a;有老师说&#xff0c;希…

制作巴士电台彩蛋一枚

内容暂不透露哈&#xff0c;自己摸索&#xff0c;假如玩过魂斗罗&#xff0c;或知道google reader的彩蛋的话&#xff0c;那么巴士的彩蛋你应该也能试出来&#xff0c;哈哈 纯粹为增加点欢乐感~~

hadoop 2.7 java_Hadoop2.7环境搭建---Java环境变量

感谢分享&#xff1a;https://my.oschina.net/fhd/blog/335156一般来说&#xff0c;我们都会把Java安装到 /usr/local 目录 或者 /opt 目录下。这里假设java安装包已解压在了 /opt下&#xff0c;具体目录为&#xff1a;/opt/java8/java1.8.0_45目录(注意&#xff1a;如果是生产…

7年赚的2个亿,数学家6年就花光了,全砸在自家的房子上

全世界只有3.14 % 的人关注了爆炸吧知识提到数学家&#xff0c;我以为是这样的&#xff1a;发际线不低&#xff0c;面部表情匮乏&#xff0c;总爱是写外星符号。然而却是这样的&#xff0c;刚刚还在讲sin、cos,一转头就掏出一把小提琴&#xff0c;超高难度的帕格尼尼随想曲说来…

wp7开发官方教程和开发包

http://msdn.microsoft.com/zh-cn/windowsphone/gg675037.aspx转载于:https://www.cnblogs.com/kkcontrol/archive/2012/03/30/2425781.html

iOS-Runtime知识点整理

本文目录 1.Runtime简介2.Runtime相关的头文件3.技术点和应用场景 3_1.获取属性\成员变量列表3_2.交换方法实现3_3.类\对象的关联对象,假属性3_4.动态添加方法&#xff0c;拦截未实现的方法3_5.动态创建一个类4.面试题-1.Runtime简介回到顶部1.Runtime简介 因为Objc是一门动态语…

人人年薪百万?醒醒!

今天刷知乎&#xff0c;看见一个很有趣的帖子&#xff1a;中青校媒的一份调查结果显示&#xff1a;67.65%的大学生评估自己10年内会年薪百万。这个帖子下面一堆答主在那疯狂的讽刺挖苦&#xff0c;觉得年轻人什么都不懂就会幻想。我倒是觉得年轻人对未来充满憧憬和希望反而是好…

sql not exists用法_SQL Server 2012 高级用法(一)

最近用到了SQL Server 相关数据库等问题&#xff0c;于是整理了如下SQL Server高级用法系列。该系列不再介绍基础用法(select ,insert, update, delete, and or ,order by 等)。本文将介绍高级用法&#xff1a;Top, Like,通配符。三种高级用法。TOP Top 子句用于规定要返回的记…

HTTP 缓存介绍

HTTP 缓存介绍2种方式来提升你的web 应用程序的速度&#xff1a; 1、减少请求和响应的往返次数2、减少请求和响应的往返字节大小 HTTP缓存是最好的减少客户端服务器端往返次数的办法。缓存提供了提供一种机制来保证客户端 或者代理能够存储一些东西&#xff0c;而这些东西将会在…

json 查询 java_怎样在java中查询mysql得到如下的json格式的结果?

设唯一标识用户的是idString jsonString "{";preparedStatement connection.prepareStatement("select name,url,page from table_a where id 1 limit 1");ResultSet rs preparedStatement.executeQuery();rs.first();String name rs.getString(1);St…

谈谈女友卸妆后的感受?

1 2 医生和她的实习助手3 那个&#xff0c;打针的话能不能轻点呀4 ok&#xff0c;学会了 图自青鲤5 有点甜~6 一个人可以无聊到什么程度&#xff1f;7 所谓的前翻乾坤无敌轮回抓鱼大法。。8 《请回答1988》中的珍珠饰演者金雪演唱插曲《惠化洞》&#xff08;来源于weibo&#x…

隐藏无线网络技巧

无线信号一搜即到&#xff0c;无线网络一连即上&#xff0c;这是很多安全隐患的根源&#xff0c;没有一定的保护措施&#xff0c;无线网络犹如毫无遮挡在市井裸奔&#xff0c;所以在无线网络中隐藏电脑和无线路由器非常重要。想深度潜水&#xff0c;请看无线网络隐藏技巧。 要在…

隐形材料你见过吗?

1 提前锻炼&#xff0c;为春运做准备2 隐形的聚合物3 黄山西海地轨电车好像驶入了画中.....4 大猪蹄子&#xff0c;就是喜欢年轻的5 现在的小学生太会了吧&#xff01;6 当狗穿上了鞋&#xff0c;脚就不是自己的脚了~7 你仿佛在说我是王八&#xff1f;&#xff1f;&#xff1f;…

正则笔记

今天有个需求是 [无限个字符除了中文][无限个字符除了中文][无限个字符除了中文] 于是我写了个 ^[[][^u4e00-u9fa5]*[]][-*/%][[][^u4e00-u9fa5]*[]][-*/%][[][^u4e00-u9fa5]*[]]$ 报错 invalid range in character class 先不说语法问题&#xff0c;光是这一大坨玩意就让…

java中可以用浮点作为循环变量吗_Java千问:Java循环语句的几个冷门知识点你都知道吗?...

我们在进行Java开发的时候&#xff0c;经常会用到循环结构&#xff0c;但是有几个关于循环的“冷门”知识点&#xff0c;不知道你是不是都已经掌握了呢&#xff1f;我们一起来看看一、大括号可以不写吗&#xff1f;我们都知道&#xff0c;如果每次循环过程中要执行的语句只有一…

各个大学的录取通知书,哪个颜值最高?

近段时间&#xff0c;各大高校纷纷开始晒出自家的录取通知书&#xff0c;快来和小天一起评评哪家的颜值最高&#xff01;北京工业大学北京科技大学东南大学复旦大学哈尔滨工业大学南京农业大学南开大学清华大学天津大学西安交通大学中国传媒大学北京航空航天大学这不仅仅是一纸…