- /// <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;
- }
- }
- }
本文是同事亮哥所写