1 /// <summary>
2 /// 反序列化字符串[XML格式]为类实例
3 /// </summary>
4 /// <typeparam name="T">期望类型</typeparam>
5 /// <param name="xml">xml字符串</param>
6 public static T ToObject<T>(string xml) where T : new()
7 {
8 if(string.IsNullOrEmpty(xml))
9 return default(T);
10 using (var reader = new StringReader(xml))
11 {
12 var serializer = new XmlSerializer(typeof(T));
13 return (T)serializer.Deserialize(reader);
14 }
15 }
16
17 /// <summary>
18 /// 序列化类实例为字符串[XML格式]
19 /// </summary>
20 /// <typeparam name="T"></typeparam>
21 /// <param name="obj"></param>
22 public static string ToXml<T>(T obj)
23 {
24 if(string.IsNullOrEmpty(xml))
25 return string.Empty;
26 using (var writer = new StringWriter())
27 {
28 new XmlSerializer(obj.GetType()).Serialize(writer, obj);
29 return writer.ToStr();
30 }
31 }