写工具类的总结
来源:互联网 发布:软件开发工作心得体会 编辑:程序博客网 时间:2024/06/06 15:39
首先过程分析是client端传给我一个java class类,我将其转换成为一个xml文件,然后将xml文件按照规定的格式规范化,然后将规范化的xml文件传给前置,然后前置返回给我一个responsexml,我将其转换成class类,返回给client端。
如何操作:(1)首先从client端拿到class文档,从前置拿到接口参数文档,查看转换的xml文件的格式。(2)可以先将xml文件转换成xsd文件,通过网站 xmlgrid.net或者利用trang.jar将Xml 转换成xsd
Trang 是一种命令行的可以XML生成XSD的工具,生成XML文件对应的XSD文件只需要3个简单的步骤:
第一步 下载Trang
从http://www.thaiopensource.com/relaxng/trang.html 上下载trang-version.zip
第二步 解压zip
将trang-version.zip解压到某个目录,比如d:\trang
第三步 生成XSD
假设在 d:\trang 下有一个xml文件 recordQuery.xml
<?xml version="1.0" encoding="UTF-8"standalone="yes"?><AP> <MSG_CODE>test</MSG_CODE> <MSG_TEXT>test</MSG_TEXT> <TRANS_NO>test</TRANS_NO> <RESULT_LIST> <RESULT> <TRD_DATE>test</TRD_DATE> <APP_TIMESTAMP>test</APP_TIMESTAMP> <APP_SNO>test</APP_SNO> <CUST_CODE>test</CUST_CODE> <CUST_NAME>test</CUST_NAME> <CUACCT_CODE>test</CUACCT_CODE> <TA_CODE>test</TA_CODE> <TA_ACCT>test</TA_ACCT> <TRANS_ACCT>test</TRANS_ACCT> <MBR_CODE>test</MBR_CODE> <ORI_APP_SNO>test</ORI_APP_SNO> <ISS_CODE>test</ISS_CODE> <INST_CODE>test</INST_CODE> <INST_ID>test</INST_ID> <INST_SNAME>test</INST_SNAME> <INST_TYPE>test</INST_TYPE> <INST_CLS>test</INST_CLS> <TRD_ID>test</TRD_ID> <CANCEL_FLAG>test</CANCEL_FLAG> <TRD_QTY>test</TRD_QTY> </RESULT> <RESULT> <TRD_DATE>test</TRD_DATE> <APP_TIMESTAMP>test</APP_TIMESTAMP> <APP_SNO>test</APP_SNO> <CUST_CODE>test</CUST_CODE> <CUST_NAME>test</CUST_NAME> <CUACCT_CODE>test</CUACCT_CODE> <TA_CODE>test</TA_CODE> <TA_ACCT>test</TA_ACCT> <TRANS_ACCT>test</TRANS_ACCT> <MBR_CODE>test</MBR_CODE> <ORI_APP_SNO>test</ORI_APP_SNO> <ISS_CODE>test</ISS_CODE> <INST_CODE>test</INST_CODE> <INST_ID>test</INST_ID> <INST_SNAME>test</INST_SNAME> <INST_TYPE>test</INST_TYPE> <INST_CLS>test</INST_CLS> <TRD_ID>test</TRD_ID> <CANCEL_FLAG>test</CANCEL_FLAG> <TRD_QTY>test</TRD_QTY> </RESULT> </RESULT_LIST></AP>
打开windows命令行,将当前位置变更到 d:\trang
输入
Java -jar trang.jar recordQuery.xml recordQuery.xsd
(trang.jar 接受两个参数,第一个为源文件,第二个为目标文件)
ok!你可以看到在 d:\trang 下就生成了 recordQuery.xsd 文件
<?xmlversion="1.0" encoding="UTF-8"?><xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified"> <xs:element name="AP"> <xs:complexType> <xs:sequence> <xs:elementref="MSG_CODE"/> <xs:elementref="MSG_TEXT"/> <xs:elementref="TRANS_NO"/> <xs:elementref="RESULT_LIST"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="MSG_CODE"type="xs:NCName"/> <xs:element name="MSG_TEXT"type="xs:NCName"/> <xs:element name="TRANS_NO"type="xs:NCName"/> <xs:elementname="RESULT_LIST"> <xs:complexType> <xs:sequence> <xs:elementmaxOccurs="unbounded" ref="RESULT"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="RESULT"> <xs:complexType> <xs:sequence> <xs:elementref="TRD_DATE"/> <xs:elementref="APP_TIMESTAMP"/> <xs:elementref="APP_SNO"/> <xs:elementref="CUST_CODE"/> <xs:elementref="CUST_NAME"/> <xs:elementref="CUACCT_CODE"/> <xs:elementref="TA_CODE"/> <xs:elementref="TA_ACCT"/> <xs:element ref="TRANS_ACCT"/> <xs:elementref="MBR_CODE"/> <xs:elementref="ORI_APP_SNO"/> <xs:elementref="ISS_CODE"/> <xs:elementref="INST_CODE"/> <xs:elementref="INST_ID"/> <xs:elementref="INST_SNAME"/> <xs:element ref="INST_TYPE"/> <xs:elementref="INST_CLS"/> <xs:elementref="TRD_ID"/> <xs:elementref="CANCEL_FLAG"/> <xs:elementref="TRD_QTY"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="TRD_DATE"type="xs:NCName"/> <xs:element name="APP_TIMESTAMP"type="xs:NCName"/> <xs:element name="APP_SNO"type="xs:NCName"/> <xs:element name="CUST_CODE"type="xs:NCName"/> <xs:element name="CUST_NAME"type="xs:NCName"/> <xs:element name="CUACCT_CODE"type="xs:NCName"/> <xs:element name="TA_CODE"type="xs:NCName"/> <xs:element name="TA_ACCT"type="xs:NCName"/> <xs:element name="TRANS_ACCT"type="xs:NCName"/> <xs:element name="MBR_CODE"type="xs:NCName"/> <xs:element name="ORI_APP_SNO"type="xs:NCName"/> <xs:element name="ISS_CODE"type="xs:NCName"/> <xs:element name="INST_CODE"type="xs:NCName"/> <xs:element name="INST_ID"type="xs:NCName"/> <xs:element name="INST_SNAME"type="xs:NCName"/> <xs:element name="INST_TYPE"type="xs:NCName"/> <xs:element name="INST_CLS"type="xs:NCName"/> <xs:element name="TRD_ID"type="xs:NCName"/> <xs:element name="CANCEL_FLAG"type="xs:NCName"/> <xs:element name="TRD_QTY"type="xs:NCName"/></xs:schema>
这里的xs:NCName可以改为xs:string这样生成的bean属性就是String类型的。
(3)这样就生成了一个xsd文件
(3)Jaxb将xsd转成Bean
进入到你的xsd的文件夹下,在cmd模式下执行
xjc -p com.ebupt a.xsd -d abc [abc需要写全路径]
说明下:
xjc -p 包的路径 xsd的名字.xsd -d 目标的文件夹
(4)这样就得到了request请求java class
同理写response java class
(5)然后即可以编写中转的核心函数SocketService.java即可
再次总结:
(1)首先收到门户或者给的xml文件
(2)到xmlgrid.net网站去
选择xml to xsd
(3)
点击Open File选择你的xml文件,点击“generate xsd”,即可生成xsd文件,然后点击“save”就可以保存xsd文件。
(4)回到桌面,windows+r开启dos命令窗口,
将xsd文件放在d盘根目录下。输入以下命令行
xjc REQUEST.xsd -p com.cmbc.creditcard
【xjc是命令
REQUEST.xsd是文件名
-p 是必须写的
com.cmbc.creditcard是打出来之后保存的包名】
即可得到java类文件。
- 写工具类的总结
- 反编译不完全的代码(自己动手写开发工具总结)
- 自己写的数据库的工具类
- 自己写的文件操作工具类
- 简单的写日志工具类LogUtil
- 用SharedPreferences写的存储工具类
- 自己写的Properties工具类
- HBase 客户端API --写的工具类
- 自己写的数据库工具类
- 用SharedPreferences写的存储工具类
- 写自己的数组工具类
- python引入自己写的工具类
- 自己写的一个SP工具类
- 自己写的UiUtils工具类
- 写AsyncTask常用的工具类
- 巧妙写工具类
- 写makefile的总结
- 写六月的总结
- python 操作mysql数据库基础
- MaxCompute Studio 2.8.2 新版本发布啦!
- 蓝桥杯-十进制转十六进制
- Supervisor提高nodejs开发效率
- 做机械臂导航时遇到的问题4:如何订阅joint_states话题(输出关节状态)
- 写工具类的总结
- jQuery的频繁应用
- poi导入excel
- java基础知识回顾之JDK/JRE/JVM
- 一种C语言变参函数、变参宏、利用void*传播多个参数、通过内存地址和struct匹配这个地址做内存而获得多个数据的混合例子
- 通过rng-tools自动补充熵池
- linux源码包编译安装软件详解
- 数据可视化的价值秘密
- Eclipse 构建Maven项目