xml转Map,对象,Map转xml的工具类方法

Posted iscys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml转Map,对象,Map转xml的工具类方法相关的知识,希望对你有一定的参考价值。

众所周知,大家在微信开发工程中,由于微信开发文档中,对于消息的接收发送都是基础xml数据的(太坑了),所以我们需要对XML进行解析转换;

1.我们先引入所需要的依赖 dom4j (解析xml的),xstream(可以将对象,以及复杂对象转换为xml);

<dependency>

<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>

<!-- 转换xml类 -->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.5</version>
</dependency>

 

2.开始编码 --我会对下面utils类进行解释

(1)此方法用于在微信公众号开发中,后台接收到微信消息后(微信的消息都是xml数据格式),根据request .getInputStream()获取流,然后进行xml解析转换为Map

  ,此方法只能获取到xml的一级元素,但对于开发微信公众号来说,够用了!!

 

 

    public static Map<String,String> xmlTOMap(HttpServletRequest request) throws Exception{
        
        Map<String,String> map =new HashMap<String,String>();
        SAXReader reader =new SAXReader();
        InputStream ins=null;
        try {
             ins =request.getInputStream();
        } catch (IOException e) {
            
            e.printStackTrace();
        }
        Document docment =reader.read(ins);//读取流对象
        Element root=docment.getRootElement();
        List<Element> list =root.elements();
        for(Element ele:list) {
            
            map.put(ele.getName(), ele.getText());
        }
        
        return map;
        
        
    }

 

 

(2)将xml字符串转换为Map

 









以上是关于xml转Map,对象,Map转xml的工具类方法的主要内容,如果未能解决你的问题,请参考以下文章

DozerBeanMapper + 对象转Map方法

Java文件解析xml文件转成 map

java中map和对象互转工具类的实现示例

java中对象转json,json转list,json转map

微信支付:回调处理

java 怎么将 map xml 相互转换