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
原创粉丝点击