博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

xml对象序列化

Posted on 2018-02-19 19:45  火冰·瓶  阅读(119)  评论(0编辑  收藏  举报
    public static class XSerializer
    {

        /// <summary>
        /// 将对象序列化为xml字符串
        /// </summary>
        /// <typeparam name="T">类型<peparam>
        /// <param name="t">对象</param>
        public static string ObjectToXml<T>(T t) where T : class
        {
            XmlSerializer formatter = new XmlSerializer(typeof(T));
            using (MemoryStream stream = new MemoryStream())
            {
                formatter.Serialize(stream, t);
                string result = Encoding.UTF8.GetString(stream.ToArray());
                return result;
            }
        }

        /// <summary>
        /// 字符串转换为对象
        /// </summary>
        /// <typeparam name="T"><peparam>
        /// <param name="t"></param>
        /// <param name="xml"></param>
        /// <returns></returns>
        public static T XmlToObject<T>(string xml) where T : class
        {
            XmlSerializer formatter = new XmlSerializer(typeof(T));
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(xml)))
            {
                T result = formatter.Deserialize(ms) as T;
                return result;
            }
        }



    }