解析XML的 循环节点

比如这样的XML:

<data>
    <message>
        <status>0status>
        <value>处理成功value>
    message>
    <results>
        <result>
            <idcode>32XX0219X10XX5916idcode>
            <name>张三 name>
            <mobile/>
            <email/>
            <badinfos>
                <badinfo>
                    <match>["national_id"]match>
                    <reason>0reason>
                    <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>1reason>
                    <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 backList = doc.selectNodes("/data/results/result/badinfos/badinfo");
            if(backList.size()<1)
            {
                results.add("记录为空");
                return results;
            }
            for(int i=0 ; 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);

            }

你可能感兴趣的:(解析XML的 循环节点)