dom4j递归解析XML字符串所有子节点

 1 /**
 2        * dom4j递归解析所有子节点
 3        * 
 4        * @param childElements
 5        * @param mapEle
 6        * @return
 7        */
 8       public Map<String, Object> getElementsToString(String print) {
 9         //解析返回的xml字符串,生成document对象
10             Document document = null;
11             Map<String,Object> mapEle = null;
12             try{
13                 document = DocumentHelper.parseText(print);
14                 //根节点
15                 Element root = document.getRootElement();
16                 //子节点
17                 List<Element> childElements = root.elements();
18 
19                 mapEle = new HashMap<String, Object>();
20                 //遍历子节点
21                 mapEle = getAllElements(childElements,mapEle);
22             }catch(DocumentException e){
23                 // TODO Auto-generated catch block
24                 e.printStackTrace();
25             }
26             return mapEle;
27       }
28       
29       /**
30        * dom4j递归解析所有子节点
31        * 
32        * @param childElements
33        * @param mapEle
34        * @return
35        */
36       public static Map<String, Object> getAllElements(List<Element> childElements,Map<String,Object> mapEle) {
37           for (Element ele:childElements){
38               mapEle.put(ele.getName(), ele.getText());
39               if(ele.elements().size()>0){
40                   mapEle = getAllElements(ele.elements(), mapEle);
41               }
42           }
43           return mapEle;
44       }

 

posted on 2017-09-18 16:09  德邦总管  阅读(1386)  评论(0编辑  收藏  举报

导航