微信支付api返回的xml转换为Map的方法

前端之家收集整理的这篇文章主要介绍了微信支付api返回的xml转换为Map的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
</xml>

Java代码
  1. /**
  2. *@description将xml字符串转换成map
  3. *@paramxml
  4. *@returnMap
  5. */
  6. publicstaticMap<String,String>readStringXmlOut(Stringxml){
  7. Map<String,String>map=newHashMap<String,String>();
  8. Documentdoc=null;
  9. try{
  10. doc=DocumentHelper.parseText(xml);//将字符串转为XML
  11. ElementrootElt=doc.getRootElement();//获取根节点
  12. List<Element>list=rootElt.elements();//获取根节点下所有节点
  13. for(Elementelement:list){//遍历节点
  14. map.put(element.getName(),element.getText());//节点的name为map的key,text为map的value
  15. }
  16. }catch(DocumentExceptione){
  17. e.printStackTrace();
  18. catch(Exceptione){
  19. returnmap;
  20. }

执行后

"return_code":"SUCCESS",
"return_msg":"OK",sans-serif; line-height:18px">"appid":"wx2421b1c4370ec43b",sans-serif; line-height:18px">"mch_id":"10000100",sans-serif; line-height:18px">"nonce_str":"IITRi8Iabbblz1Jc",sans-serif; line-height:18px">"sign":"7921E432F65EB8ED0CE9755F0E86D72F",sans-serif; line-height:18px">"result_code":"SUCCESS",sans-serif; line-height:18px">"prepay_id":"wx201411101639507cbf6ffd8b0779950874",sans-serif; line-height:18px">"trade_type":"JSAPI"

猜你在找的XML相关文章