首页 > 代码库 > C# 实体类序列化与反序列化一 (XmlSerializer)
C# 实体类序列化与反序列化一 (XmlSerializer)
/// <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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。