標籤:
DataContractSerializer對象
1 public class Person2 {3 public int Id { get; set; }4 public string Name { get; set; }5 public int Age { get; set; }6 public char Gender { get; set; }7 }
Person
1 private async void Button_Click(object sender, RoutedEventArgs e) 2 { 3 Person zhang = new Person(); 4 zhang.Id = 1; 5 zhang.Name = "letter zhang"; 6 zhang.Age = 18; 7 zhang.Gender = ‘男‘; 8 //XML序列化工具 9 DataContractSerializer serializer = new DataContractSerializer(zhang.GetType());10 using (MemoryStream ms = new MemoryStream())11 {12 serializer.WriteObject(ms, zhang);13 ms.Position = 0;14 //讀取流中的資料15 using (var reader = new StreamReader(ms))16 {17 var result = await reader.ReadToEndAsync();18 System.Diagnostics.Debug.WriteLine(result);19 }20 }21 }
XmlSerializer對象
1 private async void Button_Click(object sender, RoutedEventArgs e) 2 { 3 Person zhang = new Person(); 4 zhang.Id = 1; 5 zhang.Name = "letter zhang"; 6 zhang.Age = 18; 7 zhang.Gender = ‘男‘; 8 var serializer = new XmlSerializer(zhang.GetType()); 9 var settings = new XmlWriterSettings10 {11 Indent = true,12 NewLineChars = "\r\n",13 Encoding = Encoding.UTF8,14 IndentChars = " "15 };16 using (var stream = new MemoryStream())17 {18 using (XmlWriter writer = XmlWriter.Create(stream, settings))19 {20 serializer.Serialize(writer, zhang);21 }22 stream.Position = 0;23 using (var reader = new StreamReader(stream, Encoding.UTF8))24 {25 var result = await reader.ReadToEndAsync();26 System.Diagnostics.Debug.WriteLine(result);27 }28 }29 }
Windows Phone 七、XML序列化