zoukankan      html  css  js  c++  java
  • xml格式发送

    1、

    namespace xml格式发送
    {
        /// <summary>
        /// 实体转Xml,Xml转实体类
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public class XmlManage<T> where T : new()
        {
            /// <summary>
            /// 对象实例转成xml
            /// </summary>
            /// <param name="item">对象实例</param>
            /// <returns></returns>
            public static string ModelToXml(T item)
            {
                XmlSerializer x = new XmlSerializer(typeof(T));
    
                MemoryStream ms = new MemoryStream();
                XmlWriter xw = new XmlTextWriter(ms, Encoding.GetEncoding("gb2312"));
                //XmlWriter xw = new XmlTextWriter(ms, Encoding.Default);
    
                x.Serialize(xw, item);
    
                int count = (int)ms.Length;
                byte[] arr = new byte[count];
                ms.Seek(0, SeekOrigin.Begin);
                ms.Read(arr, 0, count);
    
                Encoding utf = Encoding.GetEncoding("gb2312");
                string ss = (utf.GetString(arr).Trim());
                //减少传送字符量
                ss = ss.Replace("xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"", "");
                return ss;
            }
    
            /// <summary>
            /// Xml转成实体类
            /// </summary>
            /// <param name="xmlContent"></param>
            /// <returns></returns>
            public static T XmlToModel(string xmlContent)
            {
                XmlSerializer xsx = new XmlSerializer(typeof(T));
    
                MemoryStream streamx = new MemoryStream(System.Text.Encoding.Default.GetBytes(xmlContent));
                return (T)xsx.Deserialize(streamx);
            }
    
        }
    }
    

      

    2、调用

     转换为xml字符串

      string x = XmlManage<CommandObjectModel>.ModelToXml(cmdModel);

    转换为实体类 

     string str = "<AlarmCode>告警编号</AlarmCode><AlarmCode>告警编号</AlarmCode>";
     CommandObjectModel gg = XmlManage<CommandObjectModel>.XmlToModel(x);

  • 相关阅读:
    nyoj 420
    nyoj 46 最少乘法次数
    ACM退役贴
    nyoj 187 快速查找素数
    多校4题目之Trouble
    nyoj 56 阶乘因式分解(一)
    nyoj 70 阶乘因式分解(二)
    nyoj 151 Biorhythms
    nyoj 97 兄弟郊游问题
    多校十 hdoj4393 Throw nails
  • 原文地址:https://www.cnblogs.com/xiaochun126/p/4332807.html
Copyright © 2011-2022 走看看