各位大侠,如何用java做报文转换,请提供源码,谢谢

问题描述

各位大侠帮帮忙,我需要把原始交易报文转换为xml格式。例子如下:原始交易报文:01/1108:32:02[DEBUG]MainframeEsbSAO:esb-sendData[1294705922102107]=CompositeData{"SYS_HEAD":CompositeData{"TRAN_TIMESTAMP":Field{type=FieldType[string]length=9scale=0value={083202119}}"MODULE_ID":Field{type=FieldType[string]length=4scale=0value={BOCP}}"SERVICE_SCENE":Field{type=FieldType[string]length=2scale=0value={02}}"USER_LANG":Field{type=FieldType[string]length=20scale=0value={CHINESE}}"TRAN_DATE":Field{type=FieldType[string]length=8scale=0value={20110111}}"CONSUMER_ID":Field{type=FieldType[string]length=6scale=0value={646429}}"CONSUMER_SEQ_NO":Field{type=FieldType[string]length=52scale=0value={000000}}"SERVICE_CODE":Field{type=FieldType[string]length=30scale=0value={01001000006}}}"BODY":CompositeData{"CCY":Field{type=FieldType[string]length=3scale=0value={RMB}}"CHARGE_TYPE":Field{type=FieldType[string]length=2scale=0value={1}}"AMT":Field{type=FieldType[double]length=20scale=4value={800.0}}"CASH_PROJECT_NO":Field{type=FieldType[string]length=4scale=0value={1110}}"CARD_NO":Field{type=FieldType[string]length=19scale=0value={6222980013108453}}"ACCT_TYPE":Field{type=FieldType[string]length=6scale=0value={5103}}"COMMISSION":Field{type=FieldType[double]length=20scale=4value={0.0}}"REMARK":Field{type=FieldType[string]length=300scale=0value={活期现金存入}}}"APP_HEAD":CompositeData{"BIZ_SEQ_NO":Field{type=FieldType[string]length=52scale=0value={CI00000003964084}}"USER_ID":Field{type=FieldType[string]length=30scale=0value={LIANGFENGJIN001}}"BRANCH_ID":Field{type=FieldType[string]length=9scale=0value={042}}}}01/1108:32:02[DEBUG]MainframeEsbSAO:esb-getData[1294705922102107]=CompositeData{"LOCAL_HEAD":CompositeData{}"SYS_HEAD":CompositeData{"TRAN_TIMESTAMP":Field{type=FieldType[string]length=10scale=0value={083202385}}"SERVICE_SCENE":Field{type=FieldType[string]length=2scale=0value={02}}"ORG_SYS_ID":Field{type=FieldType[string]length=0scale=0value={}}"TRAN_DATE":Field{type=FieldType[string]length=10scale=0value={20110111}}"CONSUMER_ID":Field{type=FieldType[string]length=6scale=0value={646429}}"CONSUMER_SEQ_NO":Field{type=FieldType[string]length=6scale=0value={000000}}"RET_STATUS":Field{type=FieldType[string]length=8scale=0value={S}}"ESB_SEQ_NO":Field{type=FieldType[string]length=42scale=0value={20110111809037585}}"RET":Array[1]{0:CompositeData{"RET_CODE":Field{type=FieldType[string]length=6scale=0value={000000}}"RET_MSG":Field{type=FieldType[string]length=4scale=0value={交易成功}}}}"SERVICE_CODE":Field{type=FieldType[string]length=11scale=0value={01001000006}}}"BODY":CompositeData{"SEQ_NO":Field{type=FieldType[string]length=52scale=0value={0001044411}}}"APP_HEAD":CompositeData{"APPR_USER_ID_ARRAY":Array[0]{}"QUERY_KEY_ARRAY":Array[0]{}"AUTH_USER_ID_ARRAY":Array[0]{}"SERV_SEQ_NO":Field{type=FieldType[string]length=50scale=0value={0001044411}}"USER_ID":Field{type=FieldType[string]length=15scale=0value={LIANGFENGJIN001}}"BRANCH_ID":Field{type=FieldType[string]length=3scale=0value={042}}}}需转换的xml:<?xmlversion="1.0"encoding="UTF-8"?><service><sys-header><dataname="SYS_HEAD"><struct><dataname="TRAN_TIMESTAMP"><fieldtype="string"length="9"scale="0">083202119</field></data><dataname="MODULE_ID"><fieldtype="string"length="4"scale="0">BOCP</field></data><dataname="SERVICE_SCENE"><fieldtype="string"length="2"scale="0">02</field></data><dataname="USER_LANG"><fieldtype="string"length="20"scale="0">CHINESE</field></data><dataname="TRAN_DATE"><fieldtype="string"length="8"scale="0">20110117</field></data><dataname="CONSUMER_ID"><fieldtype="string"length="6"scale="0">646429</field></data><dataname="CONSUMER_SEQ_NO"><fieldtype="string"length="52"scale="0">000000</field></data><dataname="SERVICE_CODE"><fieldtype="string"length="30"scale="0">01001000006</field></data></struct></data></sys-header><app-header><dataname="APP_HEAD"><struct><dataname="BIZ_SEQ_NO"><fieldtype="string"length="52"scale="0">CI00000003964084</field></data><dataname="USER_ID"><fieldtype="string"length="30"scale="0">LIANGFENGJIN001</field></data><dataname="BRANCH_ID"><fieldtype="string"length="9"scale="0">042</field></data></struct></data></app-header><local-header><dataname="LOCAL_HEAD"><struct></struct></data></local-header><body><dataname="BODY"><struct><dataname="CCY"><fieldtype="string"length="3"scale="0">RMB</field></data><dataname="CHARGE_TYPE"><fieldtype="string"length="2"scale="0">1</field></data><dataname="AMT"><fieldtype="double"length="20"scale="4">800.0</field></data><dataname="CASH_PROJECT_NO"><fieldtype="string"length="4"scale="0">1110</field></data><dataname="CARD_NO"><fieldtype="string"length="19"scale="0">6222980013108453</field></data><dataname="ACCT_TYPE"><fieldtype="string"length="6"scale="0">5103</field></data><dataname="COMMISSION"><fieldtype="double"length="20"scale="4">0.0</field></data><dataname="REMARK"><fieldtype="string"length="300"scale="0">活期现金存入</field></data></struct></data></body></service>

解决方案

解决方案二:
该回复于2011-03-12 09:27:37被版主删除
解决方案三:
该回复于2011-03-12 09:11:53被版主删除
解决方案四:
这涉及语法解析的东西就会变得很复杂呢
解决方案五:
该回复于2011-03-14 08:56:39被版主删除

时间: 2024-10-04 01:17:25

各位大侠,如何用java做报文转换,请提供源码,谢谢的相关文章

java做 pdf转换成图片 时出现Unknown CMap: UniGB-UCS2-H?急~

问题描述 java做 pdf转换成图片 时出现Unknown CMap: UniGB-UCS2-H?急~ java.io.IOException: Unknown CMap: UniGB-UCS2-H at com.sun.pdfview.font.PDFCMap.getCMap(PDFCMap.java:67) at com.sun.pdfview.font.PDFFontEncoding.(PDFFontEncoding.java:73) at com.sun.pdfview.font.PD

java解析chunked+gizp的html源码,有谁做过吗。

问题描述 java解析chunked+gizp的html源码,有谁做过吗.贴一点核心代码吧.100分奉上 解决方案 解决方案二: 解决方案三:有这么难???

java socket 开发,请高手指点,谢谢。

问题描述 java socket 开发,请高手指点,谢谢. 1.需要实现跟服务器进行客户数据的同步! 2.报文编码:GBK 3.请求报文格式: [192.168.1.189][01][张三][18651870425][重庆][xxxxx].... 这些是我需要传过去的参数 4.返回报文格式 [10054][01][张三][18651870425][重庆][重庆市江湖区...]. 我在网上看了很多socket 列子,都是: Socket client = new Socket("127.0.0.1

servlet-求一个C#+SQL Servlet 做的QQ聊天软件源码,代码越少越好

问题描述 求一个C#+SQL Servlet 做的QQ聊天软件源码,代码越少越好 求一个C#+SQL Servlet 做的QQ聊天软件源码,代码越少越好, 解决方案 做不到,你去找腾讯公司管他们要源码吧 解决方案二: QQ中强制和他人聊天的代码

java源码-java实现汉诺塔 求源码解析思路,不要链接

问题描述 java实现汉诺塔 求源码解析思路,不要链接 一共十六个盘子,盘子必须从小到大排列,只能在abc三个塔自由移动,一次只能移动一个!求源码 解决方案 这个要递推,假设开始的时候全部在a塔上,目标是全部移到c塔上. 从一个盘子开始: 1. 一个盘子,从a移到c塔显然只需要一步,所以答案是1 2.两个盘子,那么我们需要先将上面的一个盘子移到b塔,需要1步:再将a最下面的移到c塔上,需要1步:然后再将b塔的移到c塔上,需要1步:所以总计是3 3.三个盘子,那么我们需要先将上面两个移到b塔,按照

文件下载+断点续传-用java开发的文件下载和断点续传源码,一定开可以使用的

问题描述 用java开发的文件下载和断点续传源码,一定开可以使用的 现在需要从别的网站如百度网盘中将文件下载到本地,如果由于其他原因断开下载还需要从断开位置继续下载的功能(断点续传),求一个可用的源码 解决方案 直接贴在这吗,我写过类似的代码,多线程,断点续传 解决方案二:

求助:用VB.net可以将数据动态生成图表(折线图、柱型图等)后插入word中吗?如何做??请大家帮忙!谢谢!!!

问题描述 求助:用VB.net可以将数据动态生成图表(折线图.柱型图等)后插入word中吗?如何做??请大家帮忙!谢谢!!! 解决方案 解决方案二:DimoXLAsWord.ApplicationDimoWDAsWord.Document'创建一个工作文档oWD=oXL.Documents.Add(Missing.Value)oWD=oXL.ActiveDocumentoWD.ActiveWindow.Selection.InlineShapes.AddPicture(imagepath)'垃圾

Java版吃豆游戏及源码

这是一个吃豆游戏的Java实现,具体代码较多请下载文件. 下载地址:http://download.csdn.net/source/396925 package org.loon.test;import java.awt.Color;import java.awt.Event;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Insets;import java.awt.Med

《Java并发编程的艺术》源码下载

<Java并发编程的艺术>纸质书购买地址=>天猫(价最低)  当当 京东  互动   亚马逊 <Java并发编程的艺术>电子书购买地址=>亚马逊 请使用JDK1.7及其以上版本编译源码,源码的任何问题可以通过评论告诉我们. 通过附件下载源码:ArtConcurrentBook 从SVN check out 源码:http://code.taobao.org/svn/ifevebook/trunk/ArtConcurrentBook   转载自 并发编程网 - ifeve