C#实现xml序列化与反序列化

本文介绍了一个用于XML序列化和反序列化的实用类XmlHelper。该类使用UTF-8编码,提供压缩的XML输出,并省略XML声明。通过XmlHelper类,可以轻松将对象转换为XML字符串或将XML字符串转换回对象。

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

    public class XmlHelper
    {
        private static readonly Encoding encoding = new UTF8Encoding(false);
        private static readonly XmlWriterSettings settings;
        private static readonly XmlSerializerNamespaces ns;
        static XmlHelper()
        {
            settings = new XmlWriterSettings
            {
                Encoding = encoding,
                Indent = false,
                OmitXmlDeclaration = true
            };
            ns = new XmlSerializerNamespaces();
            ns.Add("", "");
        }

        public static string Serilize(object o)
        {
            var serializer = new XmlSerializer(o.GetType());
            var sb = new StringBuilder();
            using (var stringWriter = new StringWriter(sb))
            using (var xmlWriter = XmlWriter.Create(stringWriter, settings))
            {
                serializer.Serialize(xmlWriter, o, ns);
            }
            return sb.ToString();
        }

        public static T Deserialize<T>(string text)
        where T : Res
        {
            return new XmlSerializer(typeof(T)).Deserialize(new StringReader(text)) as T;
        }
    }
  1. 创建xml实体类
  2. 在实体类里创建序列化与反序列化静态类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值