/// <summary> /// 實體類序列化的還原序列化的類 /// </summary> /// <typeparam name="T"></typeparam> public abstract class EntityClassXmlSerializer<T> { /// <summary> /// 實體類序列化成xml string /// </summary> /// <param name="entity"></param> /// <returns></returns> public static string ToXMLString(T entity) { using (MemoryStream stream = new MemoryStream()) { XmlTextWriter writer = new XmlTextWriter(stream, null); XmlSerializer xml = new XmlSerializer(entity.GetType()); xml.Serialize(writer, entity); writer.Formatting = Formatting.Indented; using (StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8)) { stream.Position = 0; string xmlString = sr.ReadToEnd(); sr.Close(); stream.Close(); return xmlString; } } } /// <summary> /// 實體類還原序列化 /// </summary> /// <param name="xml"></param> /// <returns></returns> public static T ReadFromXML(string xml) { T entity; byte[] byts = Encoding.UTF8.GetBytes(xml); using (MemoryStream stream = new MemoryStream(byts)) { XmlSerializer xs = new XmlSerializer(typeof(T)); entity = (T)xs.Deserialize(stream); return entity; } } }
以上就是C# 實體類序列化與還原序列化一 (XmlSerializer)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!