`

XStream解析XMl文件2

 
阅读更多

1、新建QueryOrders.java文件:

/**
 * 
 */
package com.saicfc.pmpf.resume.bocom.utils.resume;

import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

/**
 * @author lizhiyong
 * 
 */
@XStreamAlias("BOCOMB2C")
public class QueryOrders {
    
    public OpRep opRep;
    
    public OpRep getOpRep() {
        return opRep;
    }

    public class OpRep{
        public String retCode;
        
        public String errMsg;
        
        public OpResult opResult;
        
        public OpResultSet opResultSet;

        public String getRetCode() {
            return retCode;
        }

        public String getErrMsg() {
            return errMsg;
        }
        
        public OpResult getOpResult() {
            return opResult;
        }
        
        public OpResultSet getOpResultSet() {
            return opResultSet;
        }
        
    }
    
    public class OpResult{
        public String merchantID;

        public String getMerchantID() {
            return merchantID;
        }
    }
    
    public class OpResultSet{
        @XStreamImplicit(itemFieldName="opResult")
        public List<OpResults> opResults;

        public List<OpResults> getOpResults() {
            return opResults;
        }
    }
    
    public class OpResults{
        public String order;
        
        public String orderDate;
        
        public String orderTime;
        
        public String curType;
        
        public String amount;
        
        public String tranDate;
        
        public String tranTime;
        
        public String tranState;
        
        public String orderState;
        
        public String fee;
        
        public String bankSerialNo;
        
        public String bankBatNo;
        
        public String cardType;
        
        public String merchantBatNo;
        
        public String merchantComment;
        
        public String bankComment;

        public String getOrder() {
            return order;
        }

        public String getOrderDate() {
            return orderDate;
        }

        public String getOrderTime() {
            return orderTime;
        }

        public String getCurType() {
            return curType;
        }

        public String getAmount() {
            return amount;
        }

        public String getTranDate() {
            return tranDate;
        }

        public String getTranTime() {
            return tranTime;
        }

        public String getTranState() {
            return tranState;
        }

        public String getOrderState() {
            return orderState;
        }

        public String getFee() {
            return fee;
        }

        public String getBankSerialNo() {
            return bankSerialNo;
        }

        public String getBankBatNo() {
            return bankBatNo;
        }

        public String getCardType() {
            return cardType;
        }

        public String getMerchantBatNo() {
            return merchantBatNo;
        }

        public String getMerchantComment() {
            return merchantComment;
        }

        public String getBankComment() {
            return bankComment;
        }
    }
    
	public String signData;

    public String getSignData() {
        return signData;
    }
}

2、解析XML文件:

XStream xStream = new XStream(new DomDriver());
        xStream.processAnnotations(QueryOrders.class);
        QueryOrders queryOrders = (QueryOrders) xStream.fromXML(result);
        OpRep opRep = queryOrders.getOpRep();
        String retCode = opRep.getRetCode(); //返回码
        String errMsg = opRep.getErrMsg(); //错误描述

        OpResult opResult = opRep.getOpResult();
        String merchantID = opResult.getMerchantID();//商户号
        OpResultSet opResultSet = opRep.getOpResultSet();

        List<OpResults> list = opResultSet.getOpResults();

        List recList = new ArrayList();
        Map<String, Object> recMap = null;
        if (CommonUtils.isNotEmpty(list)) {
            for (Iterator iterator = list.iterator(); iterator.hasNext();) {
                OpResults opResults = (OpResults) iterator.next();
                recMap = new HashMap<String, Object>();
                recMap.put("order", opResults.getOrder());//订单号
                recMap.put("orderDate", opResults.getOrderDate());//订单日期
                recMap.put("orderTime", opResults.getOrderTime());//订单时间
                recMap.put("curType", opResults.getCurType());//币种
                recMap.put("amount", opResults.getAmount());//金额
                recMap.put("tranDate", opResults.getTranDate());//支付日期
                recMap.put("tranTime", opResults.getTranTime());//支付时间

                recMap.put("tranState", opResults.getTranState());//支付交易状态
                recMap.put("orderState", opResults.getOrderState());//订单状态
                recMap.put("fee", opResults.getFee());//手续费
                recMap.put("bankSerialNo", opResults.getBankSerialNo());//银行流水号
                recMap.put("bankBatNo", opResults.getBankBatNo());//银行批次号
                recMap.put("cardType", opResults.getCardType());//交易卡类型
                recMap.put("merchantBatNo", opResults.getMerchantBatNo());//商户批次号
                recMap.put("merchantComment", opResults.getMerchantComment());//商户备注
                recMap.put("bankComment", opResults.getBankComment());//银行备注
                recList.add(recMap);
            }
        }
        String signData = queryOrders.getSignData();//签名数据
        //需要去验签的源数据
        String msg = "</opRep>";
        String originalStr = result.substring(result.indexOf("<opRep>"),
            result.indexOf(msg) + msg.length());

        Map<String, Object> map = new HashMap<String, Object>();
        map.put("retCode", retCode);
        map.put("errMsg", errMsg);
        map.put("merchantID", merchantID);
        map.put("signData", signData);
        map.put("originalStr", originalStr);
        map.put("recList", recList);
        return map;


分享到:
评论

相关推荐

    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,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到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 转换成对象案例

    如果你使用的是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类型,并且易于集成到现有的...

    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生成和解析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文件中...

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

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

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

    android 使用XStream解析xml的实例

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

    使用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流...

    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是实现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,我们可以创建一个简单的...

    使用xstream进行java类与xml文件互转解析--代码

    本教程将深入探讨如何使用XStream进行Java类与XML文件之间的互转解析。 首先,我们需要引入XStream库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; ...

Global site tag (gtag.js) - Google Analytics