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 }
View Code

相关文章: