xml DataSet 转换

来源:互联网 发布:数控镗床圆弧编程举例 编辑:程序博客网 时间:2024/06/05 15:25
//将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();        }    }

原创粉丝点击