asp.net xml反序列化为对象(对像序列化为xml)

来源:互联网 发布:excel查找重复数据公式 编辑:程序博客网 时间:2024/06/11 08:55
 /// <summary>        /// 将obj序列化为xml(obj->xml)        /// </summary>        /// <param name="filePath">序列化为xml后保存的物理路径</param>        /// <param name="obj">被序列化的对象</param>        /// <param name="type">被序列化对象的类型</param>        public static void SaveXml(string filePath, object obj)        {            lock (obj)            {                DirectoryInfo dir = Directory.GetParent(filePath);                if (!dir.Exists)                    dir.Create();                using (System.IO.StreamWriter writer = new System.IO.StreamWriter(filePath))                {                    System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(obj.GetType());                    xs.Serialize(writer, obj);                    writer.Close();                }            }        }         /// <summary>        ///  将xml反序列化为对象(xml->obj)        /// </summary>        /// <param name="filePath">xml保存的物理路径</param>        /// <param name="type">反序列化成对象的类型</param>        /// <returns>返回反序列化后的对象</returns>        public static object LoadXml(string filePath, System.Type type)        {            if (!System.IO.File.Exists(filePath))                return null;            using (System.IO.StreamReader reader = new System.IO.StreamReader(filePath))            {                System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(type);                object obj = xs.Deserialize(reader);                reader.Close();                return obj;            }        }


0 0