zoukankan      html  css  js  c++  java
  • 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字符串数据。

  • 相关阅读:
    [转]ANDROID JNI之JAVA域与c域的互操作
    android 管理Touch事件
    android gesture检测
    android 数据库操作
    android 文件保存
    【转】Android 添加系统服务
    【转】android makefile文件分析
    vlc 编译
    oracle to_date 函数
    ORACLE分页SQL语句(转载)
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/10928056.html
Copyright © 2011-2022 走看看