当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  xml与DataSet的互转换类

 xml与DataSet的互转换类

点击次数:24 次 发布日期:2008-11-26 12:01:18 作者:源代码网
源代码网推荐      以前在博客上发过,经人提醒DataSet已自带读写XML的功能,于是便删了,
源代码网推荐  不过在实践中感觉封装一层后,使用起来还是蛮方便的。故再次重发。
源代码网推荐  
源代码网推荐  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();
源代码网推荐   }
源代码网推荐   }
源代码网推荐  
源代码网推荐   }
源代码网推荐  }
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华