XML序列化及反序列化


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 }
原文地址:https://www.cnblogs.com/program-meow/p/5181535.html