文档详情

xml与dataset的相互转换类_2.doc

发布:2018-09-24约4.31千字共5页下载文档
文本预览下载声明
XML与DataSet的相互转换类 送给大家一个XML与DataSet的相互转换的类: XmlDatasetConvert 该类提供了四种方法: 1、将xml对象内容字符串转换为DataSet 2、将xml文件转换为DataSet 3、将DataSet转换为xml对象字符串 4、将DataSet转换为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对象内容字符串转换为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; XmlTe
显示全部
相似文档