c#中将对象序列化为xml(包括list)
?第一步,先將類設置為可序列化xml
如下所示
/// <summary>
??? /// 代理商
??? /// </summary>
??? [XmlRoot(ElementName = "Agent")]
??? public class YyhAgent
??? {
??????? [XmlElement("AgentId")]
??????? public string AgentId { get; set; }
??????? [XmlElement("AgentName")]
??????? public string AgentName { get; set; }
??? }
??? /// <summary>
??? /// 返回的代理商列表格式
??? /// </summary>
??? [XmlRoot("Root")]
??? public class YyhAgents
??? {
??????? [XmlElement(ElementName = "ManufacturerId")]
??????? public string ManufacturerId { get; set; }
??????? [XmlElement(ElementName = "RecCount")]
??????? public string RecCount { get; set; }
??????? [XmlElement(ElementName = "PageSize")]
??????? public string PageSize { get; set; }
??????????????? [XmlElement(ElementName = "PageIndex")]
??????? public string PageIndex { get; set; }
??????? [XmlElement(typeof(List<YyhAgent>))]
??????? [XmlElement("AgentList")]
??????? public List<YyhAgent> lst { get; set; }
??? }
第二步,調用如下方法即可
??????? public static XmlDataDocument SerialiazerXmlDataDoc(Type oType, object oData)
??????? {
??????????? XmlSerializer oXmlSerializer = new XmlSerializer(oType); //為序列化器指定序列化類型
??????????? MemoryStream oMemStream = new MemoryStream();
??????????? oXmlSerializer.Serialize(oMemStream, oData); //為序列化器指定要被序列化的數據
??????????? XmlDataDocument oXmlDataDoc = new XmlDataDocument();
??????????? oXmlDataDoc.LoadXml(System.Text.Encoding.UTF8.GetString(oMemStream.ToArray()));
??????????? //將序列化的結果,轉換為字符串加載進xmldatadocument對象
??????????? return oXmlDataDoc;
??????? }
?
?
總結
以上是生活随笔為你收集整理的c#中将对象序列化为xml(包括list)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多看看飞鸽传书等系统级的源代码
- 下一篇: sqlserver 中统计信息语句