Windows Phone 七、XML序列化

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 = "
",
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         }
原文地址:https://www.cnblogs.com/includeling/p/4579537.html