XML序列化和反序列化 以及相关类的写法
2014-12-25 14:54
417 查看
类的写法:
省网办数据对接中运用到
省网办数据对接中运用到
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
相关文章推荐
- XML序列化和反序列化相关
- XML序列化以及反序列化
- xml序列化以及反序列化的事例
- 把类序列化成XML以及反序列化代码参考
- C# XmlSerializer将对象序列化以及反序列化(Sqlite数据库)
- java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
- Xml序列化和反序列化
- 怎么给这个xml文件建立对象,以便使对象和xml文件序列化和反序列化
- (转).NET对象的XML序列化和反序列化
- .NET对象的XML序列化和反序列化
- XML序列化与反序列化 整理文档
- 对象,对象集合的简单Xml序列化与反序列化
- xmlDoc里面插入xml以及相关举例(来自www.yesur.com)
- 使用XStream将对象序列化到XML以及从XML反序列化到对象
- 序列化对象到Xml文件以及反序列话Xml文件到对象(序列化数据到8个Java原型类型)
- 序列化(serialization) &amp; 反序列化(de-serialization)- 序列化到内存xml
- .NET对象的XML序列化和反序列化(转)
- 使用XML 序列化和反序列化类对象的方法
- Dateset,XML的架构以及序列化.
- 用 XStream 序列化/反序列化 XML 为 Java 对象(实例)