`

XStream解析XMl文件

 
阅读更多

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实例

    **XStream解析XML实例** 在Java开发中,处理XML数据是一项常见的任务,XStream库提供了一个简单而强大的方式来将Java对象序列化为XML,以及从XML反序列化回Java对象。这个实例将深入探讨如何使用XStream进行XML操作...

    Xstream解析xml

    本篇文章将深入探讨如何利用Xstream解析XML文件,并将解析后的数据存储到MySQL数据库中。 首先,我们需要了解Xstream的基本用法。Xstream的核心在于创建一个`XStream`实例,然后通过这个实例来转换XML和Java对象。...

    xstream轻松解析xml到java对象

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.18 ``` 对于其他构建工具,如Gradle或 Ivy,也有相应的...

    使用xstream解析xml,xml与pojo的双向转化,完整的java 工程

    以下是使用XStream解析XML和POJO双向转化的基本步骤: 1. 引入XStream库:在Java工程中,需要添加XStream的jar包,通常可以通过Maven或Gradle等构建工具管理依赖。在这个项目中,"lib"目录下应该包含XStream的jar...

    XStream XML解析

    **XStream XML解析** XStream 是一个开源的 Java 库,它提供了一种简单而有效的方式来将 Java 对象序列化为 XML 和从 XML 反序列化回 Java 对象。这个库的强大之处在于其简洁的API和对复杂Java对象模型的处理能力。...

    XStream解析xml 转换成对象案例

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.18 ``` 然后,你可以创建一个XStream实例,并配置它以处理...

    Xstream生产xml和解析xml

    Xstream是一款强大的Java库,用于实现Java对象与XML文档之间的转换。这种转换不仅支持基本数据类型,也适用于复杂的数据结构,包括自定义类和集合。Xstream的设计旨在简化序列化过程,使得开发者能够轻松地在Java...

    xstream方式解析xml文件

    xstream方式解析及生成xml文件

    利用XStream读写xml文件

    XStream是一款开源的Java库,用于简化XML文件的序列化与反序列化过程。它的设计理念是将XML数据映射到Java对象模型,反之亦然,而无需复杂的配置或显式的映射规则。XStream支持广泛的Java类型,并且易于集成到现有的...

    xml解析及使用XStream实现javaBean与xml之间的转换

    在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...

    java 利用Xstream注解生成和解析xml

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.15 ``` 一旦引入了Xstream,我们就可以开始定义我们的Java...

    xstream解析xml

    在压缩包中的"xml"文件可能是示例的XML数据,用于演示如何使用XStream进行序列化和反序列化操作。实际应用中,开发者可以根据这些知识对XML数据进行读取、解析和存储,提升开发效率和代码可读性。

    xstream将xml文档转换成json对象

    例如,在Maven的pom.xml文件中,你可以添加如下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.18 ``` 接下来,假设我们有一个简单的Java类`Person`,我们...

    使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar

    在XStream解析XML文件时,通常需要两个关键的jar包: 1. **xpp3_min-1.1.3.4.O.jar**:这是Minimal XML Pull Parser(XPP3)的轻量级版本,它是一个高效的XML解析器,用于读取XML文档。XPP3被XStream用来解析XML流...

    android 使用XStream解析xml的实例

    本文将介绍如何使用XStream解析xml文件,并将其转换成Java对象。 一、XStream简介 XStream是一个高性能的XML解析库,它可以将xml文件转换成Java对象,使得开发者可以方便地进行数据处理。XStream支持多种数据类型...

    Xstream生成和解析xml.rar

    如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.19 ``` 对于Gradle项目,可以在build.gradle文件中...

    java XStream xml解析 jar包.zip

    - `xmlpull-1.1.3.1.jar`:XML Pull API,它是轻量级的解析XML的库,用于XPP3。 5. **XML Pull Parsing**: - XML Pull Parsing是一种事件驱动的解析模型,与SAX类似,但更简单,不需要解析器的回调函数。XPP3库...

    使用XStream是实现XML与Java对象的转换(5)--Object Stream

    如果你的项目是Maven管理的,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.17 ``` 一旦引入了XStream,我们可以创建一个简单的...

    java解析XML所需要的完整包(包括XStream.jar,dom4j.jar和xpull/xpp.jar)

    例如,你可以使用`Document document = DocumentHelper.parseText(xmlString)`来解析XML文本,然后通过`Element root = document.getRootElement()`获取根元素。 3. **xpp3-1.1.4c.jar**: 这个库是XPull解析器的...

    xstream解析依赖包

    《XStream解析依赖包详解》 在Java开发中,数据序列化是一个不可或缺的环节,它使得对象的状态可以被保存和恢复。XStream是一款强大的Java库,用于将Java对象转换为XML,反之亦然,极大地简化了序列化和反序列化的...

Global site tag (gtag.js) - Google Analytics