public static void main(String[] args) {
String str = "<xml>\n" +
" <return_code><![CDATA[SUCCESS]]></return_code>\n" +
" <return_msg><![CDATA[OK]]></return_msg>\n" +
" <appid><![CDATA[wx2421b1c4370ec43b]]></appid>\n" +
" <mch_id><![CDATA[10000100]]></mch_id>\n" +
" <device_info><![CDATA[1000]]></device_info>\n" +
" <nonce_str><![CDATA[TN55wO9Pba5yENl8]]></nonce_str>\n" +
" <sign><![CDATA[BDF0099C15FF7BC6B1585FBB110AB635]]></sign>\n" +
" <result_code><![CDATA[SUCCESS]]></result_code>\n" +
" <openid><![CDATA[oUpF8uN95-Ptaags6E_roPHg7AG0]]></openid>\n" +
" <is_subscribe><![CDATA[Y]]></is_subscribe>\n" +
" <trade_type><![CDATA[MICROPAY]]></trade_type>\n" +
" <bank_type><![CDATA[CCB_DEBIT]]></bank_type>\n" +
" <total_fee>1</total_fee>\n" +
" <fee_type><![CDATA[CNY]]></fee_type>\n" +
" <transaction_id><![CDATA[1008450740201411110005820873]]></transaction_id>\n" +
" <out_trade_no><![CDATA[1415757673]]></out_trade_no>\n" +
" <attach><![CDATA[订单额外描述]]></attach>\n" +
" <time_end><![CDATA[20141111170043]]></time_end>\n" +
" <trade_state><![CDATA[SUCCESS]]></trade_state>\n" +
"</xml>";
Map<String, Object> map = readStringXmlOut(str);
JSONObject jsonObject = new JSONObject(map);
System.out.println(jsonObject.toJSONString());
}
public static Map<String,Object> readStringXmlOut(String xml) {
Map<String,Object> map = new HashMap<String,Object>();
try {
Document doc = DocumentHelper.parseText(xml);
Element root = doc.getRootElement();
Iterator it = root.elementIterator();
while (it.hasNext()) {
Element element = (Element) it.next();
map.put(element.getName(), element.getTextTrim());
}
} catch (DocumentException e) {
e.printStackTrace();
}
return map;
}
{"appid":"wx2421b1c4370ec43b","attach":"订单额外描述","bank_type":"CCB_DEBIT","device_info":"1000","fee_type":"CNY","is_subscribe":"Y","mch_id":"10000100","nonce_str":"TN55wO9Pba5yENl8","openid":"oUpF8uN95-Ptaags6E_roPHg7AG0","out_trade_no":"1415757673","result_code":"SUCCESS","return_code":"SUCCESS","return_msg":"OK","sign":"BDF0099C15FF7BC6B1585FBB110AB635","time_end":"20141111170043","total_fee":"1","trade_state":"SUCCESS","trade_type":"MICROPAY","transaction_id":"1008450740201411110005820873"}