java循环解析xml

xml案例

// 样例xml
String xml = "<?xml  version=\"1.0\" encoding=\"GB2312\" ?>\n" +
                "<BCCBEBankData>\n" +
                "    <opRep>\n" +
                "        <opName>CebankQueryBillNumOp</opName>\n" +
                "        <retCode>0</retCode>\n" +
                "        <errMsg></errMsg>\n" +
                "        <opResult>\n" +
                "            <turnPageBeginPos>1</turnPageBeginPos>\n" +
                "            <turnPageShowNum>999</turnPageShowNum>\n" +
                "            <turnPageTotalNum>2</turnPageTotalNum>\n" +
                "        </opResult>\n" +
                "        <opResultSet>\n" +
                "            <opResult>\n" +
                "                <businessType>网上银行资金汇划业务</businessType>\n" +
                "                <amtMax>人民币贰仟贰佰贰拾贰元贰角贰分</amtMax>\n" +
                "                <currencyType>01</currencyType>\n" +
                "                <billNumber>0030120190726C3480014</billNumber>\n" +
                "                <acctDate>2022-09-20</acctDate>\n" +
                "                <payAcct>20000030456700007489112</payAcct>\n" +
                "                <payAcctName>北京世纪同辉物流有限公司DKY(脱敏)</payAcctName>\n" +
                "                <payBankName>北京银行和平里支行</payBankName>\n" +
                "                <payBankOrgCode></payBankOrgCode>\n" +
                "                <recAcct>20000000390900000114514</recAcct>\n" +
                "                <recAcctName>河南中州起重集团有限公司YTY(脱敏)</recAcctName>\n" +
                "                <recBankName>北京银行和平里支行</recBankName>\n" +
                "                <recBankOrgCode>00301</recBankOrgCode>\n" +
                "                <amount>2222.23</amount>\n" +
                "                <summary>核心流水号:3861694_1 渠道流水号:006830##业务类别:小额来账(二代)##业务种类:A105-02108##附言:账号误##退汇理由:账号误##委托日期:20211203    发起银行行号:104100004415    接收银行行号:313100000273##支付交易序号:2021120326653413    平台流水号:2021120301640426    标识号:2021120342465715##原支付交易序号:2021120309214751##</summary>\n" +
                "                <lendingDirection>贷方</lendingDirection>\n" +
                "                <promptMessage>请注意:1、电子回单可重复打印,请勿重复记账。2、电子回单不作为收款方的发货依据。3、本回单与本行原始记录不符的,以本行原始记录为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             </promptMessage>\n" +
                "                <checker></checker>\n" +
                "                <accountant>1tx</accountant>\n" +
                "                <businessTypeDetail>超级网银来账</businessTypeDetail>\n" +
                "                <taxpayerCode></taxpayerCode>\n" +
                "                <taxTicketCode>2021120216202222</taxTicketCode>\n" +
                "                <taxpayerName>北京先研科技有限责任公司ZFS(脱敏)</taxpayerName>\n" +
                "                <levingInsitutation></levingInsitutation>\n" +
                "                <taxTradeNumber></taxTradeNumber>\n" +
                "                <gatheringName></gatheringName>\n" +
                "                <kernelNum>20220920000003861694000000000001</kernelNum>\n" +
                "                <channelNum>006830</channelNum>\n" +
                "                <remark1></remark1>\n" +
                "                <remark2></remark2>\n" +
                "                <remark3></remark3>\n" +
                "                <remark4></remark4>\n" +
                "            </opResult>\n" +
                "            <opResult>\n" +
                "                <businessType>网上银行资金汇划业务</businessType>\n" +
                "                <amtMax>人民币贰仟贰佰贰拾贰元贰角贰分</amtMax>\n" +
                "                <currencyType>01</currencyType>\n" +
                "                <billNumber>0030120190726C3480015</billNumber>\n" +
                "                <acctDate>2022-09-20</acctDate>\n" +
                "                <payAcct>20000030456700007489112</payAcct>\n" +
                "                <payAcctName>北京世纪同辉物流有限公司DKY(脱敏)</payAcctName>\n" +
                "                <payBankName>北京银行和平里支行</payBankName>\n" +
                "                <payBankOrgCode></payBankOrgCode>\n" +
                "                <recAcct>20000000390900000114514</recAcct>\n" +
                "                <recAcctName>河南中州起重集团有限公司YTY(脱敏)</recAcctName>\n" +
                "                <recBankName>北京银行和平里支行</recBankName>\n" +
                "                <recBankOrgCode>00301</recBankOrgCode>\n" +
                "                <amount>2222.23</amount>\n" +
                "                <summary>核心流水号:3861694_1 渠道流水号:006830##业务类别:小额来账(二代)##业务种类:A105-02108##附言:账号误##退汇理由:账号误##委托日期:20211203    发起银行行号:104100004415    接收银行行号:313100000273##支付交易序号:2021120326653413    平台流水号:2021120301640426    标识号:2021120342465715##原支付交易序号:2021120309214751##</summary>\n" +
                "                <lendingDirection>贷方</lendingDirection>\n" +
                "                <promptMessage>请注意:1、电子回单可重复打印,请勿重复记账。2、电子回单不作为收款方的发货依据。3、本回单与本行原始记录不符的,以本行原始记录为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             </promptMessage>\n" +
                "                <checker></checker>\n" +
                "                <accountant>1tx</accountant>\n" +
                "                <businessTypeDetail>超级网银来账</businessTypeDetail>\n" +
                "                <taxpayerCode></taxpayerCode>\n" +
                "                <taxTicketCode>2021120216202222</taxTicketCode>\n" +
                "                <taxpayerName>北京先研科技有限责任公司ZFS(脱敏)</taxpayerName>\n" +
                "                <levingInsitutation></levingInsitutation>\n" +
                "                <taxTradeNumber></taxTradeNumber>\n" +
                "                <gatheringName></gatheringName>\n" +
                "                <kernelNum>20220920000003861694000000000001</kernelNum>\n" +
                "                <channelNum>006830</channelNum>\n" +
                "                <remark1></remark1>\n" +
                "                <remark2></remark2>\n" +
                "                <remark3></remark3>\n" +
                "                <remark4></remark4>\n" +
                "            </opResult>\n" +
                "        </opResultSet>\n" +
                "    </opRep>\n" +
                "</BCCBEBankData>";
//工具解析
 public static void readStringXml(String xml) {
        Document doc = null;
        try {
            doc = DocumentHelper.parseText(xml); // 将字符串转为XML
            Element rootElt = doc.getRootElement(); // 获取根节点
            System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
            Iterator iterss = rootElt.elementIterator("opRep");
            System.out.println("根节点下面的值"+iterss.hasNext());
            while (iterss.hasNext()) {
                Element recordEless = (Element) iterss.next();
                Iterator itersElIterator = recordEless.elementIterator("opResultSet");
                System.out.println("itersElIterator"+itersElIterator);
                while (itersElIterator.hasNext()) {
                    Element itemEle = (Element) itersElIterator.next();
                    Iterator opResult = itemEle.elementIterator("opResult");
                    while (opResult.hasNext()){
                        Element opResultNext = (Element) opResult.next();
                        String billNumber = opResultNext.elementTextTrim("billNumber");
                        String amtMax = opResultNext.elementTextTrim("amtMax");
                        System.out.println("最终结果"+billNumber+"人民币大写"+amtMax);
                    }
                }
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
//psvm
readStringXml(xml);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值