zoukankan      html  css  js  c++  java
  • 序列化类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Serialization;
    using System.IO;

    namespace XsmQQ
    {
        public class SerializeDeSerialize
        {
            /// <summary>
            /// 序列化字符
            /// </summary>
            /// <param name="o">类的对象</param>
            /// <returns></returns>
            public string Serialize(object o)
            {
                Type type = o.GetType();
                // 创建一个xml序列化对象
                XmlSerializer xml = new XmlSerializer(type);
                // 创建一个内存流对象
                MemoryStream memoryStream = new MemoryStream();
                // 将传入的systemMeg转换成一个内存流,保存在xsl序列化对象中
                xml.Serialize(memoryStream, o);
                return Convert.ToBase64String(memoryStream.ToArray());
            }

            /// <summary>
            /// 反序列化类
            /// </summary>
            /// <param name="messageString">要序列化的字符</param>
            /// <param name="objectType">类的对象</param>
            /// <returns></returns>
            public object DeSerialize(string messageString, object objectType)
            {
                Type type = objectType.GetType();
                // 创建一个xml序列化对象
                System.Xml.Serialization.XmlSerializer xsl = new System.Xml.Serialization.XmlSerializer(type);
                // 序列化一个内存流
                MemoryStream ms = new MemoryStream(Convert.FromBase64String(messageString));
                return xsl.Deserialize(ms);
            }
        }
    }

  • 相关阅读:
    离线修改注册表
    在Spring3中,配置DataSource的方法有6种。
    windows设置java环境变量
    三种配置linux环境变量的方法(以java为例)
    java call sap
    Tomcat 解决The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit
    window上安装pymysql
    Python中的str与bytes之间的转换的三种方法
    安装sqlite3.8的方法
    os.walk的用法
  • 原文地址:https://www.cnblogs.com/xsmhero/p/1446739.html
Copyright © 2011-2022 走看看