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);
}
}
}