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
DataSet与Xml之间的转换相关推荐
- 序列化之对象,字符串,byte数组,XML之间的转换(一)
工作一年多了,越来越感到自己不能这样一直下去,在最好的青春里面却已经死了.被时间消磨了意志,被工作杀死了精神.我想,我只要活着,我就要去不断的要求自己,不断的去追求更高的山峰. 放眼四周,有趣的灵魂越 ...
- DataSet和List 泛型之间互相转换 (转载, 作者写的很好)
DataSet和List<T> 泛型之间互相转换 (转载, 作者写的很好) //DataSet与泛型集合间的互相转换 //利用反射机制将DataTable的字段与自定义类型的公开属性互相赋 ...
- C# 实现DataTable、DataSet与XML互相转换
/** <summary>/// 把DataSet.DataTable.DataView格式转换成XML字符串.XML文件/// </summary>public class ...
- JAXB实现java对象与xml之间转换
一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...
- JAXB处理java对象与xml格式之间的转换
JAXB(Java Architecture for XML Binding)是J2SE和J2EE平台的一部分,让开发者能够快速完成Java类和XML的互相映射.一些具体的介绍和使用可以到此细看:JA ...
- JAXB JavaBean与Xml之间转换
JAXB JavaBean与Xml之间转换问题之二 接着上一篇来说,上一篇主要讲述的是关于jaxb将实体转换为xml的使用方法和注解的一些过程,但是凡事都会有缺点,而上述方法的缺点就是marshall ...
- C#中XML、JSON、类T数据格式之间的转换
在C#中,XML与JSON之间可以相互转化 XML与T类型也可以相互转化[XML有且只有一个根节点] JSON与T类型也可以相互转化. 新建控制台应用程序JsonToXmlToClassDemo,(. ...
- DataSet和ListT 泛型之间互相转换 (转载, 作者写的很好)
/DataSet与泛型集合间的互相转换 //利用反射机制将DataTable的字段与自定义类型的公开属性互相赋值. //注意:从DataSet到IList<T>的转换,自定义类型的公开属性 ...
- java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...
最新文章
- drbd配置文件详解
- stm32之USB应用实例(官方例程资料下载使用)
- 优化--减少HTTP请求
- Java 7:Fork / Join框架示例
- 美国“四院院士”特伦斯谈人工智能“瓶颈”:远未达极限,数学家已经有了实现AI可解释性的理论工具...
- Sigma Function(LightOJ-1336)
- 机器视觉:偏振片应用
- 神经网络-Neural Network 简介
- JQuery杂项方法
- php 函数传值_传址_函数参数,php函数的传值与传址
- Circular Sequence
- 数字图像处理课程设计
- Gliffy Diagrams 安装问题
- 海量数据检索 - “ElasticSearch”
- hdu 6080-度度熊保护村庄
- js函数提升和变量提升_关于在js中提升的真相
- CSDN客服联系方式(有QQ联系方式)
- 警惕!微信诈骗花样多:点个赞都可能被骗
- 哈希表(HashMap)的学习与实现
- 二十世纪最伟大的十大算法
热门文章
- WebService应用一例,带有安全验证
- 使用 CSS 用户选择控制选择
- 最新最详细最简洁Eclipse调试PHP配置详解(Xdebug,Zend Debugger)
- (转)用Java获得当前性能信息
- halcon 单通道图像转成3通道_halcon图像处理基本运算
- 苹果手机耗电快_iPhone12用5G耗电快,苹果回应
- php网址变量怎么输出,【PHP网站】如何使用dedecms v5.7前台模版里输出变量
- 利用福禄克网线/光纤测试仪规范测试BICSI标准
- oracle高资源消耗sql,Oracle中定位重要(消耗资源多)的SQL
- Linux进程命令PS用法笔记