报文发送解析xml

  1  FtpBasicRequestForMany ftpBasicRequestForMany = new FtpBasicRequestForMany();
  2         FtpPackRequestForMany ftpPackRequestForMany = new FtpPackRequestForMany();
  3  FtpParamsForMany ftpParamsForMany = new FtpParamsForMany();
  4         ftpParamsForMany.setFileName(fileName);
  5         ftpParamsForMany.setFtpServerIP(ftpIp);
  6         ftpParamsForMany.setFtpServerPort(Integer.valueOf(ftpPort.trim()));
  7         ftpParamsForMany.setFtpServerUserName(ftpUserName);
  8         ftpParamsForMany.setFtpServerUserPwd(ftpPsd);
  9         ftpPackRequestForMany.setCommandType(EncoderRequestEnum.REQUEST.code());
 10         ftpPackRequestForMany.setCommand(EncoderRequestEnum.UPDATE.code());
 11
 12
 13 ftpPackRequestForMany.setFtpParamsForMany(ftpParamsForMany);
 14  ftpBasicRequestForMany.setFtpPackRequestForMany(ftpPackRequestForMany);
 15
 16
 17
 18  @XmlAccessorType(XmlAccessType.FIELD)
 19 @XmlRootElement(name = "Message")
 20 public class FtpBasicRequestForMany implements Cloneable {
 21     /**
 22      *
 23      */
 24     @XmlElement(name = "DevIndexCode")
 25     private String devIndexCode;
 26     /**
 27      *
 28      */
 29     @XmlElement(name = "Pack")
 30     private FtpPackRequestForMany ftpPackRequestForMany;
 31
 32     /**
 33      * 获取devIndexCode
 34      *
 35      * @return devIndexCode devIndexCode
 36      */
 37     public String getDevIndexCode() {
 38         return devIndexCode;
 39
 40     }
 41
 42     /**
 43      * 设置devIndexCode
 44      *
 45      * @param devIndexCode
 46      *            devIndexCode
 47      */
 48     public void setDevIndexCode(String devIndexCode) {
 49         this.devIndexCode = devIndexCode;
 50     }
 51
 52     public FtpPackRequestForMany getFtpPackRequestForMany() {
 53         return ftpPackRequestForMany;
 54     }
 55
 56     public void setFtpPackRequestForMany(FtpPackRequestForMany ftpPackRequestForMany) {
 57         this.ftpPackRequestForMany = ftpPackRequestForMany;
 58     }
 59
 60     @Override
 61     public FtpBasicRequestForMany clone() throws CloneNotSupportedException {
 62         FtpBasicRequestForMany clone = (FtpBasicRequestForMany) super.clone();
 63         clone.ftpPackRequestForMany = this.ftpPackRequestForMany.clone();
 64         return clone;
 65     }
 66 }
 67
 68
 69 @XmlAccessorType(XmlAccessType.FIELD)
 70 public class FtpPackRequestForMany implements Cloneable {
 71         /**
 72          *
 73          */
 74         @XmlAttribute
 75         private String type = "PAG";
 76         /**
 77          *
 78          */
 79         @XmlElement(name = "Version")
 80         private String version = "1.0";
 81         /**
 82          *
 83          */
 84         @XmlElement(name = "Sequence")
 85         private String sequence = "1";
 86         /**
 87          *
 88          */
 89         @XmlElement(name = "CommandType")
 90         private String commandType;
 91         /**
 92          *
 93          */
 94         @XmlElement(name = "Command")
 95         private String command;
 96         /**
 97          *
 98          */
 99         @XmlElement(name = "Params")
100         private FtpParamsForMany ftpParamsForMany;
101
102     public String getType() {
103         return type;
104     }
105
106     public void setType(String type) {
107         this.type = type;
108     }
109
110     public String getVersion() {
111         return version;
112     }
113
114     public void setVersion(String version) {
115         this.version = version;
116     }
117
118     public String getSequence() {
119         return sequence;
120     }
121
122     public void setSequence(String sequence) {
123         this.sequence = sequence;
124     }
125
126     public String getCommandType() {
127         return commandType;
128     }
129
130     public void setCommandType(String commandType) {
131         this.commandType = commandType;
132     }
133
134     public String getCommand() {
135         return command;
136     }
137
138     public void setCommand(String command) {
139         this.command = command;
140     }
141
142     public FtpParamsForMany getFtpParamsForMany() {
143         return ftpParamsForMany;
144     }
145
146     public void setFtpParamsForMany(FtpParamsForMany ftpParamsForMany) {
147         this.ftpParamsForMany = ftpParamsForMany;
148     }
149
150     @Override
151     protected FtpPackRequestForMany clone() throws CloneNotSupportedException {
152         FtpPackRequestForMany clone = (FtpPackRequestForMany) super.clone();
153         clone.ftpParamsForMany = this.ftpParamsForMany.clone();
154         return clone;
155     }
156 }
157    protocolStr = XmlUtil.toXml(protocol);
158
159    解析
160
161    public static <T> T unMarshaller(Class<T> cls, String protocol) {
162         return unMarshaller(cls, protocol, "UTF-8");
163     }
164
165     public static <T> T unMarshaller(Class<T> cls, String protocol, String code) {
166         T t = null;
167         ByteArrayInputStream is = null;
168
169         try {
170             is = new ByteArrayInputStream(protocol.getBytes(code));
171             JAXBContext context = JAXBContext.newInstance(cls);
172             Unmarshaller unmarshaller = context.createUnmarshaller();
173             t = unmarshaller.unmarshal(is);
174         } catch (Exception var14) {
175             throw new UnsupportedOperationException(var14);
176         } finally {
177             if (is != null) {
178                 try {
179                     is.close();
180                 } catch (IOException var13) {
181                     throw new UnsupportedOperationException(var13);
182                 }
183             }
184
185         }
186
187         return t;
188     }
189    

原文地址:https://www.cnblogs.com/xjatj/p/9456456.html

时间: 2024-10-14 03:16:28

报文发送解析xml的相关文章

使用HttpClient 发送get、post请求,及其解析xml返回数据

一.关于HttpClient的使用: 可以参考这个博客地址,这里有详细的介绍,需要的可以先看一下: 地址是:http://blog.csdn.net/wangpeng047/article/details/19624529 二.项目中用到HttpClient 去请求一个地址,但是用get请求如果参数过多,不同的浏览器会导致不同程度的参数丢失,所以还应该要有post的请求的方式,在加上post请求方式的后,发现不能用原来解析get请求的方式来解析服务器返回的数据,经多方查找资料最终找到了解决方案,

SAX解析XML

SAX 事件处理(事件驱动),不需要载入整个文档,流机制读取,分析XML文档 startDocument startElement character endElement endDocument 当sax扫描到文档时就调用startDocument函数,sax扫描到文档结束符时就调用endDocument函数,也就是说当sax扫描到哪个节点时就会调用相应的函数,同时还会携带节点的属性值. 当它扫描到节点内容值时就会调用character函数 Sax主要是用来对xml文件遍历,解析,不提供修改.

Java中解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

XML学习笔记(二):使用 DOM和SAX 解析XML :

一.XML解析的简介 1.一般来说xml解析的方式有两种,Dom与SAX,且各有优缺点.pull是第三种方法见:pull解析XML 1)DOM:dom对象树 ①.整个XML放入内存,转换为Document对象: ②.每个元素,转换成Element对象 ③.文本,转换成Text对象 ④.属性,转换成Attribute对象 优缺点:元素的CRUD比较简单,但是内存消耗大,大的xml文档不适合. 补充:内存不足时,可以修改参数,调整JVM的内存大小 1.java.lang.OutOfMemoryErr

HTTP报文头解析

HTTP报文头解析 本篇博客我们就来详细的聊一下HTTP协议的常用头部字段,当然我们将其分为请求头和响应头进行阐述.下方是报文头每个字段的格式,首先是头部字段的名称,如Accept,冒号后方紧跟的是该字段名所对应的值,每个值之间有逗号分隔.如果该值需要优先级,那么在值的后方跟上优先级q=0.8(q的值由0~1,优先级从低到高).值与优先级中间由分号相隔. 头部字段名:值1, 值2;q=0.8 下方就是截取的网络请求中Request Headers的部分内容.红框中的Accept-Language

Android之解析XML格式数据

作用:在网络上传输数据时最常用的格式有两种,XML 和 JSON.解析XML格式数据获得与后台交互的信息. 种类: 3种:Pull 解析方式:SAX 解析方式:DOM解析方式. 1.使用Pull解析器解析XML文档Pull解析器的运行方式和SAX解析器很相似,它提供了类似的事件,比如文档开始.文档结束.开始元素和结束元素等.使用parser.next()方法可以进入下一个元素并触发相应的事件.各种事件均已数字的形式被发送,因此可以在程序中使用一个switch语句来对事件进行选择,然后进行相应的事

三种解析xml的方式

在Android平台上可以使用Simple?API?for XML(SAX) . Document Object Model(DOM)和Android附带的pull解析器解析XML文件. 下面是本例子要解析的XML文件:itcast.xml <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>李明</n

iOS多线程与网络开发之解析xml

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 A.XML基本知识 1.xml概念 什么是XML全称是Extensible Markup Lan

Python:使用基于事件驱动的SAX解析XML

SAX的特点: 是基于事件的 API 在一个比 DOM 低的级别上操作 为您提供比 DOM 更多的控制 几乎总是比 DOM 更有效率 但不幸的是,需要比 DOM 更多的工作 基于对象和基于事件的接口 您可能已经知道语法分析器有两类接口 - 基于对象的(如:DOM)和基于事件(如:SAX)的接口. DOM是基于对象的语法分析器的标准 API. 作为基于对象的接口,DOM 通过在内存中显示地构建对象树来与应用程序通信.对象树是 XML 文件中元素树的精确映射. DOM 易于学习和使用,因为它与基本