XML序列化和反序列化 以及相关类的写法
生活随笔
收集整理的這篇文章主要介紹了
XML序列化和反序列化 以及相关类的写法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
類的寫法:
省網辦數據對接中運用到
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Serialization;namespace SWBExchange.Common.Entities {public class Body{[XmlElement(ElementName = "BasicInfo")]public BasicInfo BasicInfo { get; set; }[XmlElement(ElementName = "UserInfos")]public UserInfos UserInfos { get; set; }[XmlElement(ElementName = "OrgInfos")]public OrgInfos OrgInfos { get; set; }[XmlElement(ElementName = "ServiceInfo")]public ServiceInfo ServiceInfo { get; set; }[XmlElement(ElementName = "ApasInfo")]public ApasInfo ApasInfo { get; set; }[XmlElement(ElementName = "Review")]public Review Review { get; set; }[XmlElement(ElementName = "Node")]public Node Node { get; set; }[XmlElement(ElementName = "Proposer")]public Proposer Proposer { get; set; }[XmlElement(ElementName = "Operator")]public Operator Operator { get; set; }[XmlArray("Expresses"), XmlArrayItem("Express")]public List<Express> Expresses { get; set; }[XmlArray("FormInfos"), XmlArrayItem("FormInfo")]public List<FormInfo> FormInfos { get; set; }[XmlArray("Attrs"), XmlArrayItem("Attr")]public List<Attr> Attrs { get; set; }[XmlArray("Licenses"), XmlArrayItem("License")]public List<License> Licenses { get; set; }[XmlElement(ElementName = "SMS")]public SMS SMS { get; set; }} } public class Helper{#region 反序列化public static string ObjectToXML<T>(T t){return ObjectToXML<T>(t, Encoding.UTF8);}/// <summary>/// 將object對象序列化成XML/// </summary>/// <param name="o"></param>/// <returns></returns>public static string ObjectToXML<T>(T t, Encoding encoding){XmlSerializer ser = new XmlSerializer(t.GetType());Encoding utf8EncodingWithNoByteOrderMark = new UTF8Encoding(false);using (MemoryStream mem = new MemoryStream()){using (XmlTextWriter writer = new XmlTextWriter(mem, utf8EncodingWithNoByteOrderMark)){XmlSerializerNamespaces ns = new XmlSerializerNamespaces();ns.Add("", "");ser.Serialize(writer, t, ns);return encoding.GetString(mem.ToArray());}}}#endregion#region 序列化public static T XMLToObject<T>(string source){return XMLToObject<T>(source, Encoding.UTF8);}public static T XMLToObject<T>(string source, Encoding encoding){XmlSerializer mySerializer = new XmlSerializer(typeof(T));using (MemoryStream stream = new MemoryStream(encoding.GetBytes(source))){return (T)mySerializer.Deserialize(stream);}}#endregion
轉載于:https://www.cnblogs.com/wenghaowen/p/4184674.html
總結
以上是生活随笔為你收集整理的XML序列化和反序列化 以及相关类的写法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AJAX只支持字符类数据返回,不支持文件
- 下一篇: asp.net ajax控件工具集 Au