解析XML的 循环节点

比如这样的XML:

<data>
    <message>
        <status>0</status>
        <value>处理成功</value>
    </message>
    <results>
        <result>
            <idcode>32XX0219X10XX5916</idcode>
            <name>张三 </name>
            <mobile/>
            <email/>
            <badinfos>
                <badinfo>
                    <match>["national_id"]</match>
                    <reason>0</reason>
                    <reason_description>借款违约</reason_description>
                    <create_date_type/>
                    <amount_type>未知</amount_type>
                    <over_due_type>未知</over_due_type>
                    <legal_status></legal_status>
                </badinfo>
                <badinfo>
                    <match>["national_id"]</match>
                    <reason>1</reason>
                    <reason_description>法律原因</reason_description>
                    <create_date_type/>
                    <amount_type>大于等于10000元</amount_type>
                    <over_due_type>未知</over_due_type>
                    <legal_status>已结案</legal_status>
                </badinfo>
            </badinfos>
        </result>
    </results>
</data>

java解析:

Element resultsElement = (Element) doc.selectSingleNode("/data/results/result/dataStatus");
            List<Element> backList = doc.selectNodes("/data/results/result/badinfos/badinfo");
            if(backList.size()<1)
            {
                results.add("记录为空");
                return results;
            }
            for(int i=0 ; i<backList.size();i++)
            {
                Element backListEle= backList.get(i);
                String match=backListEle.selectSingleNode("match").getText();
                String reason=backListEle.selectSingleNode("reason").getText();
                String reason_description=backListEle.selectSingleNode("reason_description").getText();
                String create_date_type=backListEle.selectSingleNode("create_date_type").getText();
                String amount_type=backListEle.selectSingleNode("amount_type").getText();
                String over_due_type=backListEle.selectSingleNode("over_due_type").getText();
                String legal_status=backListEle.selectSingleNode("legal_status").getText();
                results.add(match);
                results.add(reason);
                results.add(reason_description);
                results.add(create_date_type);
                results.add(amount_type);
                results.add(over_due_type);
                results.add(legal_status);

            }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值