XML与DataSet的相互转换
来源:互联网 发布:淘宝装修全屏轮播代码 编辑:程序博客网 时间:2024/06/09 12:01
XML与DataSet的相互转换的类
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.IO;using System.Xml;namespace XmlDesign{ class XmlDatasetConvert { //将xml对象内容字符串转换为DataSet public static DataSet ConvertXMLToDataSet(string xmlData) { StringReader stream = null; XmlTextReader reader = null; try { DataSet xmlDS = new DataSet(); stream = new StringReader(xmlData); //从stream装载到XmlTextReader reader = new XmlTextReader(stream); xmlDS.ReadXml(reader); return xmlDS; } catch (System.Exception ex) { throw ex; } finally { if (reader != null) reader.Close(); } } //将xml文件转换为DataSet public static DataSet ConvertXMLFileToDataSet(string xmlFile) { StringReader stream = null; XmlTextReader reader = null; try { XmlDocument xmld = new XmlDocument(); xmld.Load(xmlFile); DataSet xmlDS = new DataSet(); stream = new StringReader(xmld.InnerXml); //从stream装载到XmlTextReader reader = new XmlTextReader(stream); xmlDS.ReadXml(reader); //xmlDS.ReadXml(xmlFile); return xmlDS; } catch (System.Exception ex) { throw ex; } finally { if (reader != null) reader.Close(); } } //将DataSet转换为xml对象字符串 public static string ConvertDataSetToXML(DataSet xmlDS) { MemoryStream stream = null; XmlTextWriter writer = null; try { stream = new MemoryStream(); //从stream装载到XmlTextReader writer = new XmlTextWriter(stream, Encoding.Unicode); //用WriteXml方法写入文件. xmlDS.WriteXml(writer); int count = (int)stream.Length; byte[] arr = new byte[count]; stream.Seek(0, SeekOrigin.Begin); stream.Read(arr, 0, count); UnicodeEncoding utf = new UnicodeEncoding(); return utf.GetString(arr).Trim(); } catch (System.Exception ex) { throw ex; } finally { if (writer != null) writer.Close(); } } //将DataSet转换为xml文件 public static void ConvertDataSetToXMLFile(DataSet xmlDS,string xmlFile) { MemoryStream stream = null; XmlTextWriter writer = null; try { stream = new MemoryStream(); //从stream装载到XmlTextReader writer = new XmlTextWriter(stream, Encoding.Unicode); //用WriteXml方法写入文件. xmlDS.WriteXml(writer); int count = (int)stream.Length; byte[] arr = new byte[count]; stream.Seek(0, SeekOrigin.Begin); stream.Read(arr, 0, count); //返回Unicode编码的文本 UnicodeEncoding utf = new UnicodeEncoding(); StreamWriter sw = new StreamWriter(xmlFile); sw.WriteLine("<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>"); sw.WriteLine(utf.GetString(arr).Trim()); sw.Close(); } catch( System.Exception ex ) { throw ex; } finally { if (writer != null) writer.Close(); } } }}
文章转载自: ASP.NET中XML与DataSet的相互转换 http://www.studyofnet.com/news/299.html
0 0
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换类
- XML与DataSet的相互转换
- XML与DataSet的相互转换
- XML与DataSet的相互转换类
- XML与DataSet相互转换
- XML与DataSet的相互转换的类
- XML与DataSet的相互转换的类
- Linux下配置Opencv2.4.8+Eclipse
- 关于房子关于旅行
- NO4在二叉树中查找和为某值的所有路径
- sift特征提取与分析
- poj2973
- XML与DataSet的相互转换
- n*n螺旋方阵的C语言实现
- JDK 7 中的 Fork/Join 模式
- OpenGL/GLSL数据传递小记(3.x)
- 2014年2月找工作面试题
- 并查集——Ubiquitous Religions
- Android音频系统之音频基础
- 【ibokan】HTMl常用标签复习总结笔记
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)