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);
}
}
}
C# XML 序列化与反序列化
本文介绍了如何使用 C# 进行 XML 序列化和反序列化操作,包括将对象序列化为 XML 字符串并进行 Base64 编码,以及如何将 Base64 编码的字符串反序列化回原始对象。

被折叠的 条评论
为什么被折叠?



