微信支付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"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇