ASP.NET中把xml转为dataset与xml字符串转为dataset及dataset转为xml的代码

it2024-11-30  17

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对象内容字符串转换为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();             }         }

    } }

转载于:https://www.cnblogs.com/_zjl/archive/2011/04/08/2009087.html

最新回复(0)