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之间的转换相关推荐

  1. 序列化之对象,字符串,byte数组,XML之间的转换(一)

    工作一年多了,越来越感到自己不能这样一直下去,在最好的青春里面却已经死了.被时间消磨了意志,被工作杀死了精神.我想,我只要活着,我就要去不断的要求自己,不断的去追求更高的山峰. 放眼四周,有趣的灵魂越 ...

  2. DataSet和List 泛型之间互相转换 (转载, 作者写的很好)

    DataSet和List<T> 泛型之间互相转换 (转载, 作者写的很好) //DataSet与泛型集合间的互相转换 //利用反射机制将DataTable的字段与自定义类型的公开属性互相赋 ...

  3. C# 实现DataTable、DataSet与XML互相转换

    /** <summary>/// 把DataSet.DataTable.DataView格式转换成XML字符串.XML文件/// </summary>public class ...

  4. JAXB实现java对象与xml之间转换

    一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...

  5. JAXB处理java对象与xml格式之间的转换

    JAXB(Java Architecture for XML Binding)是J2SE和J2EE平台的一部分,让开发者能够快速完成Java类和XML的互相映射.一些具体的介绍和使用可以到此细看:JA ...

  6. JAXB JavaBean与Xml之间转换

    JAXB JavaBean与Xml之间转换问题之二 接着上一篇来说,上一篇主要讲述的是关于jaxb将实体转换为xml的使用方法和注解的一些过程,但是凡事都会有缺点,而上述方法的缺点就是marshall ...

  7. C#中XML、JSON、类T数据格式之间的转换

    在C#中,XML与JSON之间可以相互转化 XML与T类型也可以相互转化[XML有且只有一个根节点] JSON与T类型也可以相互转化. 新建控制台应用程序JsonToXmlToClassDemo,(. ...

  8. DataSet和ListT 泛型之间互相转换 (转载, 作者写的很好)

    /DataSet与泛型集合间的互相转换 //利用反射机制将DataTable的字段与自定义类型的公开属性互相赋值. //注意:从DataSet到IList<T>的转换,自定义类型的公开属性 ...

  9. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

最新文章

  1. drbd配置文件详解
  2. stm32之USB应用实例(官方例程资料下载使用)
  3. 优化--减少HTTP请求
  4. Java 7:Fork / Join框架示例
  5. 美国“四院院士”特伦斯谈人工智能“瓶颈”:远未达极限,数学家已经有了实现AI可解释性的理论工具...
  6. Sigma Function(LightOJ-1336)
  7. 机器视觉:偏振片应用
  8. 神经网络-Neural Network 简介
  9. JQuery杂项方法
  10. php 函数传值_传址_函数参数,php函数的传值与传址
  11. Circular Sequence
  12. 数字图像处理课程设计
  13. Gliffy Diagrams 安装问题
  14. 海量数据检索 - “ElasticSearch”
  15. hdu 6080-度度熊保护村庄
  16. js函数提升和变量提升_关于在js中提升的真相
  17. CSDN客服联系方式(有QQ联系方式)
  18. 警惕!微信诈骗花样多:点个赞都可能被骗
  19. 哈希表(HashMap)的学习与实现
  20. 二十世纪最伟大的十大算法

热门文章

  1. WebService应用一例,带有安全验证
  2. 使用 CSS 用户选择控制选择
  3. 最新最详细最简洁Eclipse调试PHP配置详解(Xdebug,Zend Debugger)
  4. (转)用Java获得当前性能信息
  5. halcon 单通道图像转成3通道_halcon图像处理基本运算
  6. 苹果手机耗电快_iPhone12用5G耗电快,苹果回应
  7. php网址变量怎么输出,【PHP网站】如何使用dedecms v5.7前台模版里输出变量
  8. 利用福禄克网线/光纤测试仪规范测试BICSI标准
  9. oracle高资源消耗sql,Oracle中定位重要(消耗资源多)的SQL
  10. Linux进程命令PS用法笔记