/// <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) 내용입니다. PHP 중국어 홈페이지(m.sbmmt.com)!