加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml序列化

发布时间:2020-12-16 23:46:32 所属栏目:百科 来源:网络整理
导读:/// summary /// xml序列化 /// /summary /// typeparam name="T" 类型 /typeparam /// param name="obj" 值 /param /// returns/returns public static string XmlSerializeT( this T obj) { if (obj == null ) throw new NullReferenceException( " 空 " )
        /// <summary>
        /// xml序列化
        /// </summary>
        /// <typeparam name="T">类型</typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string XmlSerialize<T>(this T obj)
        {
            if (obj == null) throw new NullReferenceException("");

            var settings = new XmlWriterSettings()
            {
                OmitXmlDeclaration = true,//去掉xml声明
                Encoding = Encoding.Default
            };
            var output = new StringBuilder();
            using (XmlWriter writer = XmlWriter.Create(output,settings))
            {
                ////去掉前缀和命名空间
                var ns = new XmlSerializerNamespaces();
                ns.Add(string.Empty,string.Empty);

                var serializer = new XmlSerializer(obj.GetType());
                serializer.Serialize(writer,obj,ns);
            }
            return output.ToString();
        }

        /// <summary>
        /// xml反序列化
        /// </summary>
        /// <typeparam name="T">返回对象类型</typeparam>
        /// <param name="strXML"></param>
        /// <returns></returns>
        public static T DeserializeXml<T>(this string strXML) where T : class
        {
            try
            {
                using (StringReader sr = new StringReader(strXML))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(T));
                    return serializer.Deserialize(sr) as T;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读