当前位置:编程学习 > XML/UML >>

c# XML和实体类之间相互转换

 

今天写了一个工具,可以在把实体类转换为XML,同时也可以把XML转换为对应的实体类,希望对大家有帮助

 

代码如下

 

XML转换类

 

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

using System.Data; 

using System.IO; 

using System.Xml.Serialization; 

using System.Xml; 

 

namespace WFXML 

    public class XmlUtil 

    { 

     

        #region 反序列化 

        /// <summary> 

        /// 反序列化 

        /// </summary> 

        /// <param name="type">类型</param> 

        /// <param name="xml">XML字符串</param> 

        /// <returns></returns> 

        public static object Deserialize(Type type, string xml) 

        { 

            try 

            { 

                using (StringReader sr = new StringReader(xml)) 

                { 

                    XmlSerializer xmldes = new XmlSerializer(type); 

                    return xmldes.Deserialize(sr); 

                } 

            } 

            catch (Exception e) 

            { 

 

                return null; 

            } 

        } 

        /// <summary> 

        /// 反序列化 

        /// </summary> 

        /// <param name="type"></param> 

        /// <param name="xml"></param> 

        /// <returns></returns> 

        public static object Deserialize(Type type, Stream stream) 

        { 

            XmlSerializer xmldes = new XmlSerializer(type); 

            return xmldes.Deserialize(stream); 

        } 

        #endregion 

 

        #region 序列化XML文件 

        /// <summary> 

        /// 序列化XML文件 

        /// </summary> 

        /// <param name="type">类型</param> 

        /// <param name="obj">对象</param> 

        /// <returns></returns> 

        public static string Serializer(Type type, object obj) 

        { 

            MemoryStream Stream = new MemoryStream(); 

            //创建序列化对象 

            XmlSerializer xml = new XmlSerializer(type); 

            try 

            { 

                //序列化对象 

                xml.Serialize(Stream, obj); 

            } 

            catch (InvalidOperationException) 

            { 

                throw; 

            } 

            Stream.Position = 0; 

            StreamReader sr = new StreamReader(Stream); 

            string str = sr.ReadToEnd(); 

            return str; 

        } 

        #endregion 

 

        #region 将XML转换为DATATABLE 

        /// <summary> 

        /// 将XML转换为DATATABLE 

        /// </summary> 

        /// <param name="FileURL"></param> 

        /// <returns></returns> 

        public static DataTable XmlAnalysisArray() 

        { 

            try 

            { 

                string FileURL = System.Configuration.ConfigurationManager.AppSettings["Client"].ToString(); 

                DataSet ds = new DataSet(); 

                ds.Rea

补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,