/// <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)!