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
  • 相关阅读:
    hive表增量抽取到oracle数据库的通用程序(二)
    java进程的守护进程脚本
    hadoop2.7节点的动态增加与删除
    hive表增量抽取到oracle数据库的通用程序(一)
    arduino 驱动电调
    arduino IO口
    通过电机编码器AB相输出确定电机转向
    Wifi小车资料
    winform 按键控制
    vs2010 EF4.0 访问mysql
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/13112239.html
Copyright © 2011-2022 走看看