DataContractSerializer对象
1 public class Person 2 { 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 XmlWriterSettings 10 { 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 }
时间: 2024-11-06 15:38:43