1、

  1. namespace xml格式发送
  2. {
  3. /// <summary>
  4. /// 实体转Xml,Xml转实体类
  5. /// </summary>
  6. /// <typeparam name="T"></typeparam>
  7. public class XmlManage<T> where T : new()
  8. {
  9. /// <summary>
  10. /// 对象实例转成xml
  11. /// </summary>
  12. /// <param name="item">对象实例</param>
  13. /// <returns></returns>
  14. public static string ModelToXml(T item)
  15. {
  16. XmlSerializer x = new XmlSerializer(typeof(T));
  17.  
  18. MemoryStream ms = new MemoryStream();
  19. XmlWriter xw = new XmlTextWriter(ms, Encoding.GetEncoding("gb2312"));
  20. //XmlWriter xw = new XmlTextWriter(ms, Encoding.Default);
  21.  
  22. x.Serialize(xw, item);
  23.  
  24. int count = (int)ms.Length;
  25. byte[] arr = new byte[count];
  26. ms.Seek(0, SeekOrigin.Begin);
  27. ms.Read(arr, 0, count);
  28.  
  29. Encoding utf = Encoding.GetEncoding("gb2312");
  30. string ss = (utf.GetString(arr).Trim());
  31. //减少传送字符量
  32. ss = ss.Replace("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"", "");
  33. return ss;
  34. }
  35.  
  36. /// <summary>
  37. /// Xml转成实体类
  38. /// </summary>
  39. /// <param name="xmlContent"></param>
  40. /// <returns></returns>
  41. public static T XmlToModel(string xmlContent)
  42. {
  43. XmlSerializer xsx = new XmlSerializer(typeof(T));
  44.  
  45. MemoryStream streamx = new MemoryStream(System.Text.Encoding.Default.GetBytes(xmlContent));
  46. return (T)xsx.Deserialize(streamx);
  47. }
  48.  
  49. }
  50. }

  

2、调用

转换为xml字符串

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

转换为实体类

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

xml格式发送的更多相关文章

  1. python--利用列表推导式快速生成xml格式数据

    在接口自动化测试中,我们经常将要发送的数据放到excel里. json数据放至excel方便,但最近的一个测试,数据是xml格式发送的 如下: 属性 必选/可选 描述 1. Message Eleme ...

  2. 【经验随笔】Restlet Client发送XML格式参数消息

    背景介绍 Restlet Client是一款模拟客户端发送http请求的chrome插件,可以作为驱动调试后台程序,个人觉得比POSTMAN好用.CXF是一款发布restful服务的开源组件. 编写r ...

  3. 【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)

    目录: SoapUI测试webservice接口,发送XML格式参数 Postman测试webservice接口,发送XML格式参数 WebServiceStudio.exe测试webservice接 ...

  4. Java发送HTTP POST请求(内容为xml格式)

    今天在给平台用户提供http简单接口的时候,顺便写了个调用的Java类供他参考.      服务器地址:http://5.0.217.50:17001/VideoSend 服务器提供的是xml格式的h ...

  5. soapui如何发送xml格式的字符串

    一个服务需要的xml格式的字符串参数,用soapUI传递参数时要这样写: <![CDATA[<?xml version="1.0" encoding="UTF ...

  6. JAVA发送xml格式的接口请求

    /** * * @param urlStr 接口地址 * @param xmlInfo xml格式参数数据 * @return */ public static String sendMsgXml(S ...

  7. 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)

    背景:项目中要用到客户端向服务端传数据,使用WCF,绑定webHttpBinding,做了一个小例子. 业务逻辑简介:客户端在a表中添加了几条数据,从SQL Server数据库直接取出新添加的数据(D ...

  8. XPath注入跟SQL注入差不多,只不过这里的数据库走的xml格式

    SQL注入这块不想细聊了,相信很多朋友都听到耳朵长茧,不外乎是提交含有SQL操作语句的信息给后端,后端如果没有做好过滤就执行该语句,攻击者自然可以随意操纵该站点的数据库. 比如有一个图书馆站点book ...

  9. Web APi入门之移除XML格式(一)

    前言 回头想来,没想到自己却坚持下来了,EntityFramework系列终于全部完成了,给自己点个赞先.本系列将着手于Web API,关于一些基础的介绍及定义就不再叙述,请参考园友们文章,非常详细, ...

随机推荐

  1. 将打开的网页以html格式下载到本地

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Centos7更改网卡名为eth0

    1.先更该网卡配置文件设备名和网卡名参数: vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 NAME=eth0DEVICE=eth0 2.将配 ...

  3. 服务器IIS禁止通过IP访问

    之前发布的网站,只是配置端口信息,IP都选择的是*,所以一直没有考虑IP能访问的事情. 现在有个需求,就是只能通过域名访问,不能通过IP访问,那么做法就是给这个主机名添加上解析的域名,IP自然就失效了

  4. HDU 1426 Sudoku Killer (回溯 + 剪枝)

    本文链接:http://i.cnblogs.com/EditPosts.aspx?postid=5398818 题意: 给你一个 9*9 的矩阵,同一行相邻的两个元素用一个空格分开.其中1-9代表该位 ...

  5. struts2进阶

    Struts2 一.Struts的工作原理 Struts2的工作机制3.1Struts2体系结构图 Strut2的体系结构如图15所示: (图15) 3.2Struts2的工作机制 从图15可以看出, ...

  6. 《JAVA与模式》之观察者模式(转载)

    <JAVA与模式>之观察者模式(转载)  原文链接:http://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.html ...

  7. [BZOJ 3108] 图的逆变换

    Link: BZOJ 3108 传送门 Solution: 样例教你做题系列 观察第三个输出为No的样例,发现只要存在$edge(i,k),edge(j,k)$,那么$i,j$的出边一定要全部相同 于 ...

  8. C语言基础之while的使用

    一. 格式: 1: while (条件) 2:   3: { 4:   5: 循环体 6:   7: } 8:   二.运行原理 1.如果一开始条件就不成立,永远不会执行循环体 2.如果条件成立,就会 ...

  9. DoTween 部分中文文档

    前言 DOTween现在还处于 alpha,所以还有一些缺失的功能(如路径插件,附加回调和其它的tween选项),这个文档在不久的将来可能会改变. 一.术语 Tweener 一个tween控制valu ...

  10. mysql truncate drop delete的区别

    以下讨论,针对于mysql数据库. 为什么会想到这个问题呢? 因为项目中需要清除数据库的数据,而且需要实现自增的主键从0开始计数.所以想到总结一个几个常用的删除语法的差异. 可以做一个测试 建一个带有 ...