直接上碼:
首先創建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(); }