C# XML序列化与反序列化

C# 序列化方式网上有很多,但下面这种方式最省内存,通过文件流的形式执行写入硬盘,不额外占用运行内存。

 /// <summary>
        /// 序列化
        /// </summary>
        /// <param name="Obj"></param>
        /// <param name="xmlfilepath"></param>
        public static void XmlSerializer(Object Obj, string xmlfilepath)
        {
            try
            {
                using (StreamWriter writer = new StreamWriter(xmlfilepath))
                {
                    var xs = new XmlSerializer(Obj.GetType());
                    xs.Serialize(writer, Obj);
                }
            }
            catch (Exception exe)
            {

            }

        }


        /// <summary>
        /// 反序列化
        /// </summary>
        /// <param name="type"></param>
        /// <param name="xmlfilepath"></param>
        /// <returns></returns>
        public static T XmlDeserialize<T>(string xmlfilepath)
        {
            try
            {
                Type type = typeof(T);
                XmlSerializer serializer = new XmlSerializer(type);
                using (FileStream fs = new FileStream(xmlfilepath, FileMode.Open))
                {
                   return (T)serializer.Deserialize(fs); 
                }
            }
            catch (Exception exe)
            {
                return default(T);
            }
            
        }

猜你喜欢

转载自blog.csdn.net/weixin_42193688/article/details/123847775