亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        XML與DataSet的相互轉(zhuǎn)換類

        字號:


            送給大家一個XML與DataSet的相互轉(zhuǎn)換的類:
            XmlDatasetConvert 該類提供了四種方法:
            1、將xml對象內(nèi)容字符串轉(zhuǎn)換為DataSet
            2、將xml文件轉(zhuǎn)換為DataSet
            3、將DataSet轉(zhuǎn)換為xml對象字符串
            4、將DataSet轉(zhuǎn)換為xml文件
            XmlDatasetConvert.cs
            using System;
            using System.Collections.Generic;
            using System.Text;
            using System.Data;
            using System.IO;
            using System.Xml;
            namespace XmlDesign
            {
            class XmlDatasetConvert
            {
            //將xml對象內(nèi)容字符串轉(zhuǎn)換為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文件轉(zhuǎn)換為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轉(zhuǎn)換為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轉(zhuǎn)換為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("");
            sw.WriteLine(utf.GetString(arr).Trim());
            sw.Close();
            }
            catch( System.Exception ex )
            {
            throw ex;
            }
            finally
            {
            if (writer != null) writer.Close();
            }
            }
            }
            }
            使用示例
            using System;
            using System.Collections.Generic;
            using System.Text;
            using System.Xml;
            using System.Data;
            namespace XmlDesign
            {
            class Program
            {
            static void Main(string[] args)
            {
            DataSet ds = new DataSet();
            轉(zhuǎn)換一個XML文件(本地/網(wǎng)絡(luò)均可)為一個DataSet#region 轉(zhuǎn)換一個XML文件(本地/網(wǎng)絡(luò)均可)為一個DataSet
            //http://news.baidu.com/n?cmd=1&class=sportnews&tn=rss
            //F:/study/001CSharp_Study/002Source/XmlDesign/XmlDesign/Save_Plan.xml
            ds = XmlDatasetConvert.ConvertXMLFileToDataSet(@"http://news.baidu.com/n?cmd=1&class=sportnews&tn=rss");
            Console.WriteLine("數(shù)據(jù)集名為/"{0}/",包含{1}個表", ds.DataSetName, ds.Tables.Count);
            foreach(DataTable dt in ds.Tables)
            {
            PrintTableName(dt.TableName);
            };
            #endregion
            構(gòu)造一個DataSet,并轉(zhuǎn)換為XML字符串#region 構(gòu)造一個DataSet,并轉(zhuǎn)換為XML字符串
            DataSet ds1 = new DataSet();
            DataTable dt1 = new DataTable();
            dt1.TableName = "test";
            dt1.Columns.Add("id");
            dt1.Columns.Add("name");
            dt1.Rows.Add("i001", "hekui");
            dt1.Rows.Add("i002", "liyang");
            DataTable dt2 = new DataTable();
            dt2.TableName = "test1";
            dt2.Columns.Add("bookid");
            dt2.Columns.Add("bookname");
            dt2.Rows.Add("b001", "書本1");
            dt2.Rows.Add("b002", "書本2");
            ds1.Tables.Add(dt1);
            ds1.Tables.Add(dt2);
            ds1.DataSetName = "方案";
            string xmlOut = XmlDatasetConvert.ConvertDataSetToXML(ds1);
            #endregion
            轉(zhuǎn)換一個XML字符串為一個DataSet#region 轉(zhuǎn)換一個XML字符串為一個DataSet
            DataSet ds2 = new DataSet();
            ds2 = XmlDatasetConvert.ConvertXMLToDataSet(xmlOut);
            Console.WriteLine("數(shù)據(jù)集名為/"{0}/",包含{1}個表", ds2.DataSetName, ds2.Tables.Count);
            foreach (DataTable dt in ds2.Tables)
            {
            PrintTableName(dt.TableName);
            };
            #endregion
            轉(zhuǎn)換一個Dataset為一個XML文件#region 轉(zhuǎn)換一個Dataset為一個XML文件
            XmlDatasetConvert.ConvertDataSetToXMLFile(ds2, "c://adadsda1.xml");
            #endregion
            Console.ReadLine();
            }
            private static void PrintTableName(string tableName)
            {
            Console.WriteLine(tableName);
            }
            }
            }