using System.IO; using System.Xml.Serialization; namespace Hncore.Infrastructure.Serializer { public class XML { #region 将C#数据实体转化为xml数据 /// /// 将C#数据实体转化为xml数据 /// /// 要转化的数据实体 /// xml格式字符串 public static string XmlSerialize(T obj) { using (MemoryStream stream = new MemoryStream()) { XmlSerializer xml = new XmlSerializer(typeof(T)); //序列化对象 xml.Serialize(stream, obj); stream.Position = 0; using (StreamReader sr = new StreamReader(stream)) { string str = sr.ReadToEnd(); return str; } } } #endregion #region 将xml数据转化为C#数据实体 /// /// 将xml数据转化为C#数据实体 /// /// 符合xml格式的字符串 /// T类型的对象 public static T XmlDeserialize(string xml) { XmlSerializer xmldes = new XmlSerializer(typeof(T)); using (MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml.ToCharArray()))) { return (T)xmldes.Deserialize(stream); } } #endregion } }