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;
        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值