解析XML的 循环节点

来源:互联网 发布:丹尼尔戴刘易斯 知乎 编辑:程序博客网 时间:2024/05/17 02:28

比如这样的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 0
原创粉丝点击