`

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文件

    Xstream解析xml

    使用Xstream解析复杂xml文件,并读入MySql数据库中

    xstream轻松解析xml到java对象

    xstream轻松解析xml到java对象,内附样例。so easy!妈妈再也不用担心我的xml解析。

    XStream XML解析

    XStream XML解析 含样例及详细嵌入文档

    XStream 解析 android

    XStream 解析 可以迅速解析XML文件

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

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

    android XMl 解析神奇xstream 一

    android XMl 解析神奇xstream 一: 解析android项目中的xml文件

    xStream解析工具包

    Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列...

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

    java转换XML的必须要的包,总共三个,分别包括XStream.jar,dom4j.jar和xpull/xpp.jar包。

    android 使用XStream解析xml的实例

    1,要解析的xml文件文件 xml=&lt;apps&gt;\n + &lt;app&gt;\n + &lt;id&gt;1&lt;/id&gt;\n + &lt;name&gt;burn&lt;/name&gt;\n + &lt;version&gt;1.0&lt;/version&gt;\n + &lt;info&gt;\n + &lt;size&gt;10.5&lt;/size&gt;\n + &lt;message&gt;hhhhhhhh&lt;/message&gt;\n + &lt;/info&gt;\n + ...

    xstream学习文档及实例

    xstream用于解析和生成XML文件最优方案

    自己总结的操作xml文件的方法

    用jdom 操作xml文档 jdom+xpath 操作 xml 文档 Xstream

    SAXParser-用SAX读取大于100M的xml文件(java)

    压缩包里面有两个文件:SAX.java和SAXparse.java 用来解析大于100M的xml文件,SAX读取xml不同于DOM方式,DOM方式在解析xml前需要全部加载xml文件,当xml文件很大时,就会出现内存不足的问题,而SAX则是逐行读取xml...

    xStream使用demo

    使用xstream来读取xml文件的demo,该demo中,使用了支付宝对账单返回的xml为列子来展示使用xstream的注解的方式读取xml,并且转成实体类.学习xstream或者对xstream有疑问的可以参考下..之所以使用支付宝账单返回的xml是...

    XStream 1.3 API(CHM)

    XStream可以将xml直接转换成Java类,并且完成数据的封装,反之可以将Java类转换成xml文件.XStream可以省去了经常人为解析xml的过程。

    dom4j、XStream的jar包

    dom4j用于解析xml 文档,而XStream则是将Java对象转成xml文件。使用这两个工具就很好的解决了xml文件的解析与Java对象转成xml的麻烦了!

    xstream 1.4.3 bin zip

    xStream1.4.3发行包,可以用xStream解析生成xml,面相对象,效率很高,可以利用转换器对付复杂xml,不过过于复杂的xml还是有解析难度,但是至今没有遇到过于复杂的xml文件

    xstream_1.4.3及其依赖包_xstream_1.4.3及其依赖包

    解析xml文件需要用到jar包,内容包含xstream_1.4.3及_xstream_1.4.3 -dom4j及其依赖包,需要用到的都含有

    xstream-1.4.4-sources.jar

    XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换。将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件。

    基于Java的XML解析与反射设计模式.doc

    xstream可以完美转换xml,与以往的解析xml工具dom相比,xstream是一个易用的、开源 的库,使用起来简单、小巧,容易理解,可以轻易的将java对象和xml文档相互转换,而 且可以修改某个特定的属性和节点名称。...

Global site tag (gtag.js) - Google Analytics