1、新建RefundResult.java文件:
/**
*
*/
package com.saicfc.pmpf.resume.ccb.utils;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
/**
* 解析银行返回数据
* @author lizhiyong
* @version $Id: QueryOrders2.java, v 0.1
2014年7月24日 下午3:30:47 Exp $
*/
@XStreamAlias("TX")
public class RefundResult {
@XStreamAlias("REQUEST_SN")
public String requestSn;
@XStreamAlias("CUST_ID")
public String custId;
@XStreamAlias("TX_CODE")
public String txcode;
@XStreamAlias("RETURN_CODE")
public String returnCode;
@XStreamAlias("RETURN_MSG")
public String returnMsg;
@XStreamAlias("LANGUAGE")
public String language;
@XStreamAlias("TX_INFO")
public TxInfo2 txInfo2;
public static class TxInfo2{
@XStreamAlias("CUR_PAGE")
public String curPage;
@XStreamAlias("TPAGE")
public String tPage;
@XStreamImplicit(itemFieldName="LIST")
public List<QueryOrder> queryOrders;
@XStreamAlias("NOTICE")
public String notice;
public String getCurPage() {
return curPage;
}
public String getNotice() {
return notice;
}
public String gettPage() {
return tPage;
}
public List<QueryOrder> getQueryOrders() {
return queryOrders;
}
}
public static class QueryOrder {
@XStreamAlias("TRAN_DATE")
public String tranDate;
@XStreamAlias("REFUND_DATE")
public String refundDate;
@XStreamAlias("ORDER_NUMBER")
public String orderNumber;
@XStreamAlias("REFUND_ACCOUNT")
public String refundAccount;
@XStreamAlias("PAY_AMOUNT")
public String payAmount;
@XStreamAlias("REFUNDEMENT_AMOUNT")
public String refundementAmount;
@XStreamAlias("POS_CODE")
public String posCode;
@XStreamAlias("USERID")
public String userId;
@XStreamAlias("STATUS")
public String status;
public String getTranDate() {
return tranDate;
}
public String getRefundDate() {
return refundDate;
}
public String getOrderNumber() {
return orderNumber;
}
public String getRefundAccount() {
return refundAccount;
}
public String getPayAmount() {
return payAmount;
}
public String getRefundementAmount() {
return refundementAmount;
}
public String getPosCode() {
return posCode;
}
public String getUserId() {
return userId;
}
public String getStatus() {
return status;
}
}
public String getRequestSn() {
return requestSn;
}
public String getCustId() {
return custId;
}
public String getTxcode() {
return txcode;
}
public String getReturnCode() {
return returnCode;
}
public String getReturnMsg() {
return returnMsg;
}
public String getLanguage() {
return language;
}
public TxInfo2 getTxInfo2() {
return txInfo2;
}
}
2、解析XML文件:
XStream xStream = new XStream(new DomDriver());
xStream.processAnnotations(RefundResult.class);
RefundResult query = (RefundResult) xStream.fromXML(revResult);
Map<String, Object> orderMap = new HashMap<String, Object>();
orderMap.put("returnCode", query.getReturnCode());
orderMap.put("returnMsg", query.getReturnMsg());
//交易成功
if ("000000".equals(orderMap.get("returnCode"))) {
orderMap.put("requestSn", query.getRequestSn());
orderMap.put("custId", query.getCustId());
orderMap.put("txcode", query.getTxcode());
orderMap.put("language", query.getLanguage());
TxInfo2 txInfo2 = query.getTxInfo2();
orderMap.put("curPage", txInfo2.getCurPage());
orderMap.put("tPage", txInfo2.gettPage());
List<QueryOrder> queryList = txInfo2.getQueryOrders();
List queryOrderList = new ArrayList();
Map<String, Object> queryMap = null;
for (Iterator iterator = queryList.iterator(); iterator.hasNext();) {
QueryOrder queryOrder = (QueryOrder) iterator.next();
queryMap = new HashMap<String, Object>();
queryMap.put("tranDate", queryOrder.getTranDate());
queryMap.put("refundDate", queryOrder.getRefundDate());
queryMap.put("orderNumber", queryOrder.getOrderNumber());
queryMap.put("refundAccount", queryOrder.getRefundAccount());
queryMap.put("payAmount", queryOrder.getPayAmount());
queryMap.put("refundementAmount", queryOrder.getRefundementAmount());
queryMap.put("posCode", queryOrder.getPosCode());
queryMap.put("userId", queryOrder.getUserId());
queryMap.put("status", queryOrder.getStatus());
//把每一个订单信息都存放在queryOrderList中
queryOrderList.add(queryMap);
}
//把所有订单信息集合queryOrderList存放到orderMap中
orderMap.put("queryOrderList", queryOrderList);
logger.info("解析银行退款查询返回数据结束:" + orderMap);
return orderMap;
}
分享到:
相关推荐
**XStream解析XML实例** 在Java开发中,处理XML数据是一项常见的任务,XStream库提供了一个简单而强大的方式来将Java对象序列化为XML,以及从XML反序列化回Java对象。这个实例将深入探讨如何使用XStream进行XML操作...
本篇文章将深入探讨如何利用Xstream解析XML文件,并将解析后的数据存储到MySQL数据库中。 首先,我们需要了解Xstream的基本用法。Xstream的核心在于创建一个`XStream`实例,然后通过这个实例来转换XML和Java对象。...
如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.18 ``` 对于其他构建工具,如Gradle或 Ivy,也有相应的...
以下是使用XStream解析XML和POJO双向转化的基本步骤: 1. 引入XStream库:在Java工程中,需要添加XStream的jar包,通常可以通过Maven或Gradle等构建工具管理依赖。在这个项目中,"lib"目录下应该包含XStream的jar...
**XStream XML解析** XStream 是一个开源的 Java 库,它提供了一种简单而有效的方式来将 Java 对象序列化为 XML 和从 XML 反序列化回 Java 对象。这个库的强大之处在于其简洁的API和对复杂Java对象模型的处理能力。...
如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.18 ``` 然后,你可以创建一个XStream实例,并配置它以处理...
Xstream是一款强大的Java库,用于实现Java对象与XML文档之间的转换。这种转换不仅支持基本数据类型,也适用于复杂的数据结构,包括自定义类和集合。Xstream的设计旨在简化序列化过程,使得开发者能够轻松地在Java...
xstream方式解析及生成xml文件
XStream是一款开源的Java库,用于简化XML文件的序列化与反序列化过程。它的设计理念是将XML数据映射到Java对象模型,反之亦然,而无需复杂的配置或显式的映射规则。XStream支持广泛的Java类型,并且易于集成到现有的...
在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...
如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.15 ``` 一旦引入了Xstream,我们就可以开始定义我们的Java...
在压缩包中的"xml"文件可能是示例的XML数据,用于演示如何使用XStream进行序列化和反序列化操作。实际应用中,开发者可以根据这些知识对XML数据进行读取、解析和存储,提升开发效率和代码可读性。
例如,在Maven的pom.xml文件中,你可以添加如下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.18 ``` 接下来,假设我们有一个简单的Java类`Person`,我们...
在XStream解析XML文件时,通常需要两个关键的jar包: 1. **xpp3_min-1.1.3.4.O.jar**:这是Minimal XML Pull Parser(XPP3)的轻量级版本,它是一个高效的XML解析器,用于读取XML文档。XPP3被XStream用来解析XML流...
本文将介绍如何使用XStream解析xml文件,并将其转换成Java对象。 一、XStream简介 XStream是一个高性能的XML解析库,它可以将xml文件转换成Java对象,使得开发者可以方便地进行数据处理。XStream支持多种数据类型...
如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.19 ``` 对于Gradle项目,可以在build.gradle文件中...
- `xmlpull-1.1.3.1.jar`:XML Pull API,它是轻量级的解析XML的库,用于XPP3。 5. **XML Pull Parsing**: - XML Pull Parsing是一种事件驱动的解析模型,与SAX类似,但更简单,不需要解析器的回调函数。XPP3库...
如果你的项目是Maven管理的,可以在pom.xml文件中添加如下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.17 ``` 一旦引入了XStream,我们可以创建一个简单的...
例如,你可以使用`Document document = DocumentHelper.parseText(xmlString)`来解析XML文本,然后通过`Element root = document.getRootElement()`获取根元素。 3. **xpp3-1.1.4c.jar**: 这个库是XPull解析器的...
《XStream解析依赖包详解》 在Java开发中,数据序列化是一个不可或缺的环节,它使得对象的状态可以被保存和恢复。XStream是一款强大的Java库,用于将Java对象转换为XML,反之亦然,极大地简化了序列化和反序列化的...