xml的序列化和反序列化
2012-09-05 19:30
351 查看
xml的序列化和反序列化简单例子如下:
两个模板:
序列化
反序列化:
[XmlRoot("Person")] public class Person { [XmlElement("Name")] public string Name; [XmlElement("Age")] public int Age; } class Program { static void Main(string[] args) { Person p = new Person(); p.Name = "Stacey"; p.Age = 30; XmlSerializer xs = new XmlSerializer(typeof(Person)); using (Stream s = File.Create("person.xml")) xs.Serialize(s, p); Person p2; using (Stream s = File.OpenRead("person.xml")) p2 = (Person)xs.Deserialize(s); Console.WriteLine(p2.Name + " " + p2.Age); // Stacey 30 } }
两个模板:
序列化
class XmlStreamSerializer<T> { public Stream Serialize(T model) { MemoryStream stream = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(typeof(T)); serializer.Serialize(stream, model); stream.Position = 0; return stream; } }
反序列化:
class XmlStreamDeserializer<T> { public T Deserialize(Stream xml) { T model; Stream xmlStream = xml; try { XmlSerializer serializer = new XmlSerializer(typeof(T)); model = (T)serializer.Deserialize(xml); } catch (XmlException ex) { throw new ResponseDeserializationException(ex.Message, ex); } catch (InvalidOperationException ex) { throw new ResponseDeserializationException(ex.Message, ex); } finally { if (xmlStream != null) { xmlStream.Dispose(); } } return model; } }
相关文章推荐
- XML序列化及反序列化
- Java Json/xml 序列化和反序列化工具:JsonTools 和 simpleframework【附带实例】
- XML的序列化和反序列化
- xml 序列化和反序列化
- XmlSerializer 对象的Xml序列化和反序列化
- C# Json库 和 xml 序列化反序列化 存在的问题
- C# 序列化反序列化XML的帮助类
- xml和模型对象之间的序列化和反序列化
- XML序列化和反序列化及实例
- XStream 通过对象流进行对象与xml的序列化和反序列化
- 对象,对象集合的简单Xml序列化与反序列化 【实用代码,含泛型方法】
- windows phone8.1:Xml,Json序列化和反序列化
- XML的序列化与反序列化--两种属性风格
- Java 序列化与反序列化 —— 序列化为XML
- c# XML和实体类之间相互转换(序列化和反序列化)
- 用反射实现泛型集合与XML的序列化反序列化
- c# xml序列化和反序列化
- XmlSerializer 对象的Xml序列化和反序列化
- 序列化,反序列化(xml)字符串
- Xml序列化和反序列化