反序列化例子: Qresponse = (QualityResponse)Deserialize(typeof(QualityResponse), xml);
与序列化相对的是反序列化,它将流转换为对象,也就是将在序列化过程中所生成的二进制串、xml、json等转换成数据结构或者对象的过程
对象与XML转化
/// 反序列化
/// </summary>
/// <param name="type">类型</param>
/// <param name="xml">XML字符串</param>
/// <returns></returns>
{
try
{
using (StringReader sr = new StringReader(xml))
{
XmlSerializer xmldes = new XmlSerializer(type);
return xmldes.Deserialize(sr);
}
}
catch (Exception e)
{
return e.Message;
}
}
/// 序列化
/// </summary>
/// <param name="type">类型</param>
/// <param name="xml">XML字符串</param>
/// <returns></returns>
public string Serialize(object obj)
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
StringBuilder sbXml = new StringBuilder();
using (StringWriter writer = new StringWriter(sbXml))
{
serializer.Serialize(writer, obj);
}
return sbXml.ToString();
}