码迷,mamicode.com
首页 > Web开发 > 详细

xml转json

时间:2018-06-14 15:12:46      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:rate   vat   ++   cat   XML   object   hash   xml转json   builder   

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
 
 
    public static  String xmlToJSON(String xml,int jsonType) {   
        JSONObject obj = new JSONObject();   
        try {   
            InputStream is = new ByteArrayInputStream(xml.getBytes("utf-8"));   
            SAXBuilder sb = new SAXBuilder();   
            Document doc = sb.build(is);   
            Element root = doc.getRootElement();   
            Map map=iterateElement(root);   
           obj.put(root.getName(),map);   
           return obj.toString();   
        } catch (Exception e) {   
            e.printStackTrace();   
            return null;   
        }   
    }   
   
   
    private static Map  iterateElement(Element root) {   
        List childrenList = root.getChildren();   
        Element element = null;   
        Map map = new HashMap();   
        List list = null;   
        for (int i = 0; i < childrenList.size(); i++) {   
            list = new ArrayList();   
            element = (Element) childrenList.get(i);   
            if(element.getChildren().size()>0){   
                if(root.getChildren(element.getName()).size()>1){   
                    if (map.containsKey(element.getName())) {   
                        list = (List) map.get(element.getName());   
                    }   
                    list.add(iterateElement(element));   
                    map.put(element.getName(), list);   
                }else{   
                    map.put(element.getName(), iterateElement(element));   
                }   
            }else {   
                if(root.getChildren(element.getName()).size()>1){   
                    if (map.containsKey(element.getName())) {   
                        list = (List) map.get(element.getName());   
                    }   
                    list.add(element.getTextTrim());   
                    map.put(element.getName(), list);   
                }else{   
                    map.put(element.getName(), element.getTextTrim());   
                }   
            }   
        }   
           
        return map;   
    }   

xml转json

标签:rate   vat   ++   cat   XML   object   hash   xml转json   builder   

原文地址:https://www.cnblogs.com/bchange/p/9181998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!