美文网首页
java中dom4j读取xml格式字符串

java中dom4j读取xml格式字符串

作者: 小佳佳K3 | 来源:发表于2020-07-24 17:21 被阅读0次

    所用到的Jar

    这里贴出pom,需要jar文件自行下载或留言我

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

    编写工具类,返回读取结果为map集合

    import java.io.StringReader;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.Namespace;
    
    public class DuXMLDoc {
    
        public static Map<String, Object> xmlElements(String xmlDoc) {
            //创建一个新的字符串
            StringReader read = new StringReader(xmlDoc);
            //创建一个存储数据的集合
            Map<String, Object> map = new LinkedHashMap<String, Object>();
            try {
                //表示整个文件对象
                Document doc = DocumentHelper.parseText(xmlDoc);
                //获取根元素
                Element one = doc.getRootElement();
                System.out.println("获取节点名" + one.getName());//输出根元素的名称
                //得到根元素所有子元素的集合
                List oneList = one.elements();
                //获得XML中的命名空间
                Namespace namespace = one.getNamespace();
                Element element = null;
                for (int i = 0; i < oneList.size(); i++) {
                    //依次获得根元素子元素
                    element = (Element) oneList.get(i);
                    //获取下级元素集合
                    List elementList = element.elements();
                    for (int j = 0; j < elementList.size(); j++) {
                        //获取当前元素对象
                        Element z = (Element) elementList.get(j);
                        //获取元素名称,获取元素值
                        //存入集合
                        map.put(z.getName(), z.getText());
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return map;
        }
    

    至此,根据对应的节点名称即可获取节点的值

    相关文章

      网友评论

          本文标题:java中dom4j读取xml格式字符串

          本文链接:https://www.haomeiwen.com/subject/thkslktx.html