首页 > 其他 > 详细

dom4j 解析字符串成树形结构

时间:2019-05-26 22:35:47      阅读:181      评论:0      收藏:0      [点我收藏+]

 

引入maven依赖:

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

 

public Map<String, Object> transferXml(Map<String, Object> result) {
        String content = String.valueOf(result.get("ltc_content"));
        Map<String, Object> data = new HashMap<>();
        Document document = null;
        try {
            document = DocumentHelper.parseText(content);
            Element root = document.getRootElement();
            data = recursiveXml(root);
            result.put("success", true);
            result.put("msg", "处理成功");
            result.put("data", data);
        } catch (Exception e) {
            e.printStackTrace();
            result.put("success", false);
            result.put("msg", "xml格式错误");
        }
        return result;
    }

public Map<String, Object> recursiveXml(Element element) throws Exception {
        Map<String, Object> result = new HashMap<>();
        String textTrim = element.getTextTrim();
        result.put("text", textTrim);
        //处理属性
        Map<String, Object> attribute = new HashMap<>();
        List<Attribute> attributeList = element.attributes();
        for (Attribute attr : attributeList) {
            attribute.put(attr.getName(), attr.getValue());
        }
        result.put("attribute", attribute);
        //标签名
        result.put("label", element.getName());
        //子节点
        List<Map<String, Object>> childrenList = new ArrayList<>();
        List<Element> elementList = element.elements();
        for (Element ele : elementList) {
            Map<String, Object> child = recursiveXml(ele);
            childrenList.add(child);
        }
        result.put("children", childrenList);
        return result;
    }

  

content为xml字符串数据。

dom4j 解析字符串成树形结构

原文:https://www.cnblogs.com/chenmz1995/p/10928056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!