zoukankan      html  css  js  c++  java
  • C# xml转换为对象

    <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);
    慎于行,敏于思!GGGGGG
  • 相关阅读:
    数学形态学——腐蚀、膨胀、开、闭、细化
    VS2010中 报错:error C2146、error C4430 原因一:缺少CvvImage类
    帧同步和状态同步
    HTML5触摸事件演化tap事件
    screenX clientX pageX的区别
    phaser的小游戏的onInputDown问题
    phaser入手
    pixi.js 微信小游戏 入手
    正则表达式
    剖析Vue原理&实现双向绑定MVVM-2
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/13112239.html
Copyright © 2011-2022 走看看