using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; namespace Utils { public static class XmlUtils { /// /// 将object转换成xml格式的string /// /// /// public static string Object2XmlString(Object o) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = false; settings.NewLineHandling = NewLineHandling.None; settings.Encoding = Encoding.UTF8; settings.OmitXmlDeclaration = true; XmlSerializer xs = new XmlSerializer(o.GetType()); using (StringWriter ws = new StringWriter()) { XmlWriter w = XmlWriter.Create(ws, settings); try { XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); namespaces.Add(string.Empty, string.Empty); xs.Serialize(w, o, namespaces); return ws.ToString(); } finally { w.Dispose(); } } } /// /// 将xml格式的string转换层实体类 /// /// /// /// public static T XmlString2Object(string xmlStr) { using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(xmlStr))) { XmlSerializer serializer = new XmlSerializer(typeof(T)); return (T)serializer.Deserialize(stream); } } /// /// 将xml格式stream转换层实体类 /// /// /// /// public static T XmlStream2Object(Stream stream) { XmlSerializer serializer = new XmlSerializer(typeof(T)); return (T)serializer.Deserialize(stream); } /// /// 将xml格式文件转换层实体类 /// /// /// /// public static T XmlFile2Object(string fileName) { using (Stream stream = new FileStream(fileName, FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(typeof(T)); return (T)serializer.Deserialize(stream); } } } }