直接上碼:
首先創建class1類
public class Class1
{
public string name { get; set; }
public int age { get; set; }
public bool sex { get; set; }
}
實例化class1對象並進行序列化和反序列化
static void Main(string[] args)
{
//實例化class1類
Class1 c1 = new Class1() { name = "jia", age = 18, sex = true };
//序列化(class1為反序列化已知對象)
XmlSerializer ser = new XmlSerializer(typeof(Class1));
// MemoryStream類是創建緩存以byte的形式臨時存儲數據
MemoryStream ms = new MemoryStream();
//將序列化對象c1序列化後緩存到ms對象中
ser.Serialize(ms, c1);
//將緩存數據以utf8編碼的形式讀取並存入string對象(要保存的對象)
string xmlString = Encoding.UTF8.GetString(ms.ToArray());
//釋放緩存
ms.Dispose();
//反序列化(class1為反序列化已知對象)
XmlSerializer dser = new XmlSerializer(typeof(Class1));
//讀取到的以byte的形式存儲的數據並以utf8編碼的形式讀取並存入string對象
Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString));
//進行反序列化並轉換為類對象
Class1 c2 = dser.Deserialize(xmlStream) as Class1;
Console.Read();
}