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 = "\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

Windows Phone 七、XML序列化的相关文章

序列化之XML序列化技术

优点: 1.可读性比较好, 2.有利于调试 3.XML序列化与语言无关 缺点: 1.序列化化后码流比较大,[主要是因为使用标签对来表示数据] 2.效率不高 使用场景: 1.对性能要求不高,且QPS较低的企业级内部系统之间的数据交换的场景 2.由于与语言无关,因此,可以使用到异构系统之间的数据交换协议,如WebService相关协议 使用方法: 序列化主要使用了XStream类的toXML(obj)方法,将obj对象转换为String类型,然后,再转换成字节数组. 反序列化主要使用到了XStrea

XML 序列化与反序列化

XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param name="type">对象类型</param> /// <param name="obj">对象</param> /// <param name="fileName">序列化的XML文件路径<

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

Xml序列化和反序列化

读取Xml总共有三种方法:XmlTextReader   XmlDoucument   XPath 今天总结下XmlSerialize,xmlSerialize提供两个方法Deserialize(将xml反序列化成对象)和Serialize(将对象序列化城xml)   一.Serialize   序列化 /// <summary> /// transform target object in to xml file /// </summary> /// <typeparam

在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi

可使用以下代码: //Create our own namespaces for the output XmlSerializerNamespaces ns = new XmlSerializerNamespaces (); //Add an empty namespace and empty value ns.Add ("", ""); //Create the serializer XmlSerializer slz = new XmlSerializer (s

Note4:XML序列化和反序列化

XML序列化和反序列化 待总结!

c# XML序列化与反序列化 属性字段标识

序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAttribute("AGE")] public int Age { set; get; } } [XmlRoot("Root")] public class Student : People { [XmlElement("CLASS")] public

Image(支持 XML 序列化),注意C#中原生的Image类是无法进行Xml序列化的

1 /// <summary> 2 /// Image(支持 XML 序列化) 3 /// </summary> 4 [XmlRoot("XmlImage")] 5 public class XmlImage : IXmlSerializable 6 { 7 public System.Drawing.Image Image { get; set; } 8 9 #region 构造函数 10 11 public XmlImage() 12 { } 13 14 p

Xml 序列化

1 XML序列化只能序列化对象的公有属性,并且要求对象有一个无参的构造方法,否者无法反序列化. 2 [Serializable]和[NonSerialized]特性对XML序列化无效!所以使用XML序列化时不需要对对象增加[Serializable]特性. XML形式 处理方法 补充说明 XmlElement 定义一个属性 属性名与节点名字匹配 XmlAttribute [XmlAttribute] 加到属性上 InnerText [InnerText] 加到属性上 一个类型只能使用一次 节点重