JAVA利用dom4j解析xml转map

dom4j maven依赖

 <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>

xml转换为map的方法源码

    /**
     *
     * @param xml 要转换的xml字符串
     * @param charset 字符编码
     * @return  转换成map后返回结果
     * @throws UnsupportedEncodingException
     * @throws DocumentException
     */
    public static Map<String, String> xmlToMap(String xml, String charset) throws UnsupportedEncodingException, DocumentException{

        Map<String, String> respMap = new HashMap<String, String>();

        SAXReader reader = new SAXReader();
        Document doc = reader.read(new ByteArrayInputStream(xml.getBytes(charset)));
        Element root = doc.getRootElement();
        xmlToMap(root, respMap);
        return respMap;
    }

注意导包不要搞错

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

测试数据

<!--   Copyright w3school.com.cn  -->
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

测试之后得出的map调用toString并打印输出,得到的结果

{to=George, body=Don't forget the meeting!, from=John, heading=Reminder}

猜你喜欢

转载自blog.csdn.net/minolk/article/details/82977055