1 using System; 2 using System.IO; 3 using System.Xml.Serialization; 4 5 namespace XStream 6 { 7 /// <summary> 8 /// <remarks>Xml序列化与反序列化</remarks> 9 /// <creator>zhangdapeng</creator> 10 /// </summary> 11 public class XmlSerializeUtil 12 { 13 #region 反序列化 14 /// <summary> 15 /// 反序列化 16 /// </summary> 17 /// <param name="type">类型</param> 18 /// <param name="xml">XML字符串</param> 19 /// <returns></returns> 20 public static object Deserialize(Type type, string xml) 21 { 22 using (StringReader sr = new StringReader(xml)) 23 { 24 XmlSerializer xmldes = new XmlSerializer(type); 25 return xmldes.Deserialize(sr); 26 } 27 } 28 /// <summary> 29 /// 反序列化 30 /// </summary> 31 /// <param name="type"></param> 32 /// <param name="xml"></param> 33 /// <returns></returns> 34 public static object Deserialize(Type type, Stream stream) 35 { 36 XmlSerializer xmldes = new XmlSerializer(type); 37 return xmldes.Deserialize(stream); 38 } 39 #endregion 40 41 #region 序列化 42 /// <summary> 43 /// 序列化 44 /// </summary> 45 /// <param name="type">类型</param> 46 /// <param name="obj">对象</param> 47 /// <returns></returns> 48 public static string Serializer(Type type, object obj) 49 { 50 MemoryStream Stream = new MemoryStream(); 51 XmlSerializer xml = new XmlSerializer(type); 52 //序列化对象 53 xml.Serialize(Stream, obj); 54 Stream.Position = 0; 55 StreamReader sr = new StreamReader(Stream); 56 string str = sr.ReadToEnd(); 57 58 sr.Dispose(); 59 Stream.Dispose(); 60 61 return str; 62 } 63 64 #endregion 65 } 66 }
相关文章: