比如这样的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);
}