写工具类的总结

首先过程分析是

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.creditcard

【xjc是命令

REQUEST.xsd是文件名

-p 是必须写的

com.creditcard是打出来之后保存的包名】
这里写图片描述
即可得到java类文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值