码迷,mamicode.com
首页 > Windows程序 > 详细

C# xml转换为对象

时间:2020-06-13 12:36:23      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:set   var   info   反序   cep   ons   new   res   root   

<responses> 
  <response> 
    <order_serial_no>xfs101100111012</order_serial_no>  
    <mail_no>4060005668136</mail_no>  
    <pdf_info>王志奇gfz</pdf_info>  
    <status>1</status>  
    <msg>更新订单请使用更新接口</msg> 
  </response> 
</responses>

 

C#类

    [XmlRoot("responses")]
    public class Responses
    {
        //[XmlElement("response")]
        public YUN_DA_Response response { get; set; }

        public Responses()
        {
            response = new YUN_DA_Response();
        }
    }

    public class YUN_DA_Response
    {
        public string order_serial_no { get; set; }
        public string mail_no { get; set; }
        public string status { get; set; }
        public string msg { get; set; }

        public string pdf_info { get; set; }
    }

 

转换:

 /// <summary>
        /// 反序列化
        /// </summary>
        /// <typeparam name="T">实体</typeparam>
        /// <param name="strXml">xml文件</param>
        /// <returns></returns>
        public T Deserialize<T>(string strXml) where T : class
        {
            try
            {

                object obj;
                using (MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(strXml)))
                {
                    using (XmlReader xmlReader = XmlReader.Create(memoryStream))
                    {
                        XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
                        obj = xmlSerializer.Deserialize(xmlReader);
                    }
                }
                return obj as T;
            } 
            catch (Exception ex)
            {
                return null;
            }
        }

 

            string testStr = @"
<responses> 
  <response> 
    <order_serial_no>xfs101100111012</order_serial_no>  
    <mail_no>4060005668136</mail_no>  
    <pdf_info>王志奇gfz</pdf_info>  
    <status>1</status>  
    <msg>更新订单请使用更新接口</msg> 
  </response> 
</responses>
";

            var _t = Deserialize<Responses>(testStr);

 

C# xml转换为对象

标签:set   var   info   反序   cep   ons   new   res   root   

原文地址:https://www.cnblogs.com/GarsonZhang/p/13112239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!