天天看点

xml与DataSet的互转换类

以前在博客上发过,经人提醒DataSet已自带读写XML的功能,于是便删了,

不过在实践中感觉封装一层后,使用起来还是蛮方便的。故再次重发。

xml与DataSet的互转换类

using System;

xml与DataSet的互转换类

using System.Collections.Generic;

xml与DataSet的互转换类

using System.Text;

xml与DataSet的互转换类

using System.Data;

xml与DataSet的互转换类

using System.IO;

xml与DataSet的互转换类

using System.Xml;

xml与DataSet的互转换类
xml与DataSet的互转换类

namespace XmlDesign

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

{

xml与DataSet的互转换类

    class XmlDatasetConvert

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

        //将xml对象内容字符串转换为DataSet

xml与DataSet的互转换类

        public static DataSet ConvertXMLToDataSet(string xmlData)

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

            StringReader stream = null;

xml与DataSet的互转换类

            XmlTextReader reader = null;

xml与DataSet的互转换类

            try

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                DataSet xmlDS = new DataSet();

xml与DataSet的互转换类

                stream = new StringReader(xmlData);

xml与DataSet的互转换类

                //从stream装载到XmlTextReader

xml与DataSet的互转换类

                reader = new XmlTextReader(stream);

xml与DataSet的互转换类

                xmlDS.ReadXml(reader);

xml与DataSet的互转换类

                return xmlDS;

xml与DataSet的互转换类

            }

xml与DataSet的互转换类

            catch (System.Exception ex)

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                throw ex;

xml与DataSet的互转换类
xml与DataSet的互转换类

            finally

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                if (reader != null) reader.Close();

xml与DataSet的互转换类
xml与DataSet的互转换类

        }

xml与DataSet的互转换类
xml与DataSet的互转换类

        //将xml文件转换为DataSet

xml与DataSet的互转换类

        public static DataSet ConvertXMLFileToDataSet(string xmlFile)

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                XmlDocument xmld = new XmlDocument();

xml与DataSet的互转换类

                xmld.Load(xmlFile);

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                stream = new StringReader(xmld.InnerXml);

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                //xmlDS.ReadXml(xmlFile);

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的互转换类

        //将DataSet转换为xml对象字符串

xml与DataSet的互转换类

        public static string ConvertDataSetToXML(DataSet xmlDS)

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

            MemoryStream stream = null;

xml与DataSet的互转换类

            XmlTextWriter writer = null;

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                stream = new MemoryStream();

xml与DataSet的互转换类
xml与DataSet的互转换类

                writer = new XmlTextWriter(stream, Encoding.Unicode);

xml与DataSet的互转换类
xml与DataSet的互转换类

                //用WriteXml方法写入文件.

xml与DataSet的互转换类

                xmlDS.WriteXml(writer);

xml与DataSet的互转换类

                int count = (int)stream.Length;

xml与DataSet的互转换类

                byte[] arr = new byte[count];

xml与DataSet的互转换类

                stream.Seek(0, SeekOrigin.Begin);

xml与DataSet的互转换类

                stream.Read(arr, 0, count);

xml与DataSet的互转换类
xml与DataSet的互转换类

                UnicodeEncoding utf = new UnicodeEncoding();

xml与DataSet的互转换类

                return utf.GetString(arr).Trim();

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                if (writer != null) writer.Close();

xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

        //将DataSet转换为xml文件

xml与DataSet的互转换类

        public static void ConvertDataSetToXMLFile(DataSet xmlDS,string xmlFile)

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的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类
xml与DataSet的互转换类

                //返回Unicode编码的文本

xml与DataSet的互转换类
xml与DataSet的互转换类

                StreamWriter sw = new StreamWriter(xmlFile);

xml与DataSet的互转换类

                sw.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");

xml与DataSet的互转换类

                sw.WriteLine(utf.GetString(arr).Trim());

xml与DataSet的互转换类

                sw.Close();

xml与DataSet的互转换类
xml与DataSet的互转换类

            catch( System.Exception ex )

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的互转换类