asp.net序列化與反序列化
阿新 • • 發佈:2019-01-29
反序列化例子: Qresponse = (QualityResponse)Deserialize(typeof(QualityResponse), xml);
序列化是將物件狀態轉換為可保持或傳輸的格式的過程,比如轉化為二進位制、xml、json等的過程。與序列化相對的是反序列化,它將流轉換為物件,也就是將在序列化過程中所生成的二進位制串、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();
}