• dom4j 解析字符串成树形结构


    引入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字符串数据。

  • 相关阅读:
    POJ2778 DNA Sequence AC自动机+矩阵二分
    POJ1204 Word Puzzles AC自动机 多串匹配
    与失散已久的小学同桌QQ聊天
    ZC公司员工评分系统——后台查询合成DataTable
    软考(2)编译原理
    GCT考试复习
    为自己加油!!!
    ZC公司员工评分系统——前台排版算法
    员工评分系统现场发布小感
    软考(3)操作系统
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/10928056.html
Copyright © 2020-2023  润新知