zoukankan      html  css  js  c++  java
  • XML序例化工具类

    Model:

        [XmlRoot(ElementName = "root")]
        public class BookModel
        {
            [XmlElement]
            public string BookID { get; set; }
    
            [XmlElement]
            public string BookName { get; set; }
        }

    XmlUtil 工具类:

        public class XmlUtil
        {
            #region 序列化
            public static string Serializer<T>(T obj) where T : class
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    XmlSerializer xs = new XmlSerializer(typeof(T));
                    xs.Serialize(ms, obj);
                    ms.Position = 0;
                    StreamReader sr = new StreamReader(ms);
                    string xmlString = sr.ReadToEnd();
                    sr.Dispose();
                    ms.Dispose();
                    xmlString = xmlString.Replace("<?xml version="1.0"?>", "<?xml version="1.0" encoding="GBK"?>");
                    return xmlString;
                }
            }
    
            public static Stream Serializer<T>(T obj, bool isStream) where T : class
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    XmlSerializer xs = new XmlSerializer(typeof(T));
                    xs.Serialize(ms, obj);
                    ms.Position = 0;
                    return ms;
                }
            }
            #endregion
    
            #region 反序列化
            public static T Deserialize<T>(string xmlString) where T : class
            {
                StringReader sr = new StringReader(xmlString);
                XmlSerializer xs = new XmlSerializer(typeof(T));
                T obj = (T)xs.Deserialize(sr);
                sr.Dispose();
                return obj;
            }
    
            public static T Deserialize<T>(Stream stream) where T : class
            {
                XmlSerializer xs = new XmlSerializer(typeof(T));
                return (T)xs.Deserialize(stream);
            }
    
            public static T Deserialize<T, T1>(T1 obj)
                where T : class
                where T1 : class
            {
                return Deserialize<T>(Serializer<T1>(obj, true));
            }
            #endregion
        }
  • 相关阅读:
    eclipse从接口快速跳转到实现类
    eclipse中mybatis的xml配置文件代码提示
    eclipse安装mybatis的插件
    eclipse修改默认的代码注释
    eclipse输入时自动提示
    eclipse中lombok注解不生效
    eclipse创建springboot项目
    家庭记事本(终)
    家庭记事本(6)
    人月神话(二)
  • 原文地址:https://www.cnblogs.com/lisweden/p/5144726.html
Copyright © 2011-2022 走看看