DataSet与XML互转辅助类
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Xml; using System.Data; namespace YongDotNet.Public.ToolsClass { /// <summary> /// DataSet与XML互转辅助类 /// </summary> public 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,count); UnicodeEncoding utf = new UnicodeEncoding(); return utf.GetString(arr,arr.Length).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,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,arr.Length).Trim()); sw.Close(); } catch (System.Exception ex) { throw ex; } finally { if (writer != null) { writer.Close(); } } } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。