/// <summary>
/// 序列化工具
/// </summary>
public static class SerializeUtls
{
/// <summary>
/// 把对象列化成XML
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string Serialize<T>(T t)
{
DataContractSerializer dcs = new DataContractSerializer(t.GetType());
StringBuilder sb = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(sb))
{
dcs.WriteObject(writer, t);
}
return sb.ToString();
}
/// <summary>
/// 反序列化为对象
/// </summary>
/// <param name="type">对象类型</param>
/// <param name="s">对象序列化后的Xml字符串</param>
/// <returns></returns>
public static T Deserialize<T>(string s)
{
DataContractSerializer dcs = new DataContractSerializer(typeof(T));
TextReader tr = new StringReader(s);
using (XmlReader reader = XmlReader.Create(tr))
{
var obj = dcs.ReadObject(reader);
return (T)obj;
}
}