/// <summary> /// 将实体对象转换成XML /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="obj">实体对象</param> public static string XmlSerialize <T>(T obj) { try { using (StringUTF8Writer sw = new StringUTF8Writer()) { XmlSerializer xz = new XmlSerializer(obj.GetType()); xz.Serialize(sw, obj); return(sw.ToString()); } //using (StringWriter sw = new StringWriter()) //{ // Type t = obj.GetType(); // XmlSerializer serializer = new XmlSerializer(obj.GetType()); // serializer.Serialize(sw, obj); // sw.Close(); // return sw.ToString(); //} } catch (Exception ex) { throw new Exception("将实体对象转换成XML异常", ex); } }
/// <summary> /// 序列化 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <returns></returns> public static string ToXml <T>(this T t) { XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); namespaces.Add(string.Empty, string.Empty); XmlSerializer serializer = new XmlSerializer(typeof(T)); using (StringUTF8Writer writer = new StringUTF8Writer(new StringBuilder())) { serializer.Serialize(writer, t, namespaces); return(writer.ToString()); } }
/// <summary> /// XML序列化指定对象 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="data">被序列化的对象</param> /// <returns>返回序列化后的字符串</returns> public static string Serialize <T>(T data) where T : class { if (data == null) { return("data is null"); } try { using (StringUTF8Writer sw = new StringUTF8Writer()) { XmlSerializer ser = new XmlSerializer(typeof(T)); ser.Serialize(sw, data); return(sw.ToString()); } } catch (Exception e) { string msg = string.Format("ObjectToXml is error:{0}", e.Message); return(msg); } }