XmlSerializationHelper Xml序列化工具

本文介绍如何利用XmlSerializationHelper工具将简单实体类对象高效地序列化为XML文件,适用于.NET开发环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把对象序列化成 xml文件,只能对简单实体类对象序列化哦



    /// <summary>
    /// XmlSerializationHelper Xml序列化工具
    /// </summary>
    public class XmlSerializationHelper
    {
        #region --- Functions Begin ---

        /// <summary>
        /// 从Xml文档读取获得对象
        /// </summary>
        /// <typeparam name="T">对象类</typeparam>
        /// <param name="fileFullPath">xml文件完整路径</param>
        /// <returns>对象实体,失败抛出异常</returns>
        public static T LoadXmlFile<T>(string fileFullPath) where T : new()
        {
            FileStream fs = null;

            try
            {
                fs = new FileStream(fileFullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                XmlSerializer xml = new XmlSerializer(typeof(T));
                return (T)xml.Deserialize(fs);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
        }

        /// <summary>
        /// 保存对象到Xml文档
        /// </summary>
        /// <typeparam name="T">对象类</typeparam>
        /// <param name="t">对象</param>
        /// <param name="fileFullPath">xml文件完整路径</param>
        /// <returns>成功返回 True 抛出异常</returns>
        public static bool Save<T>(T t, string fileFullPath) where T : new()
        {
            bool bl = false;
            FileStream fs = null;
            try
            {
                fs = new FileStream(fileFullPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite);

                XmlSerializer xml = new XmlSerializer(typeof(T));
                xml.Serialize(fs, t);
                bl = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
            return bl;
        }
        #endregion --- Functions End ---
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值