Java解析XML字符串格式「建议收藏」

Java解析XML字符串格式「建议收藏」Java解析XML字符串格式代码示例结果展示代码示例publicstaticvoidmain(String[]args){StringparseStr=null;StringreturnMsg=”<?xmlversion=\”1.0\”encoding=\”gb2312\”?>”+”<Resultxmlns=\”http://www.fiorano.com/fesb/activity/DB

大家好,又见面了,我是你们的朋友全栈君。

Java解析XML字符串格式

前言

java解析XML字符串格式使用的是Dom4j这一种方式;

dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。

使用Dom4j是hibernate底层也是通过Dom4j来实现的

代码示例

pom.xml中引入dom4j包

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

代码实现

public static void main(String[] args) {
        String parseStr = null;
        String returnMsg = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
                "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+
                "<row resultcount=\"1\">"+
                "<users_id>1001     </users_id>"+
                "<users_name>wangwei   </users_name>"+
                "<users_group>80        </users_group>"+
                "<users_address>1001号   </users_address>"+
                "</row>"+
                "<row resultcount=\"2\">"+
                "<users_id>1002     </users_id>"+
                "<users_name>wangwei   </users_name>"+
                "<users_group>80        </users_group>"+
                "<users_address>1002号   </users_address>"+
                "</row>"+
                "</Result>";

        try {
            Document doc = DocumentHelper.parseText(returnMsg);
            Element roots = doc.getRootElement();
            //System.out.println("根节点 = [" + roots.getName() + "]");
            //System.out.println("内容:" + roots.getText());
            parseStr = roots.getText();
            Iterator elements=roots.elementIterator();
            while (elements.hasNext()){
                Element child= (Element) elements.next();
                //System.out.println("节点名称 = [" + child.getName() + "]"+"节点内容:"+child.getText());
                List subElemets=child.elements();
                //System.out.println(subElemets.size());
                List<Map<String,Object>> treeMapList = new ArrayList<>();
               for(int i=0;i<subElemets.size();i++){
                   Map<String,Object> mapData = new HashedMap();
                   Element subChild= (Element) subElemets.get(i);
                   mapData.put(subChild.getName(),subChild.getText());
                   treeMapList.add(mapData);
                   //System.out.println("子节点名称:"+subChild.getName()+";子节点内容:"+subChild.getText());
               }
                System.out.println(treeMapList);
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        //System.out.println(parseStr);
       // return parseStr;
    }

结果展示

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136102.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android SubString截取字符串

    android SubString截取字符串

    2022年5月10日
    34
  • Excel2JSON Excel转JSON Excel另存为JSON的技巧

    Excel2JSON Excel转JSON Excel另存为JSON的技巧不过欢迎大家转发到微博、微信、朋友圈~么么哒~JSON是码农们常用的数据格式,轻且方便,而直接手敲JSON却是比较麻烦和令人心情崩溃的(因为重复的东西很多),所以很多码农可能会和我一样,选择用Excel去输入数据,然后再想办法转换成JSON格式。小编今天推荐使用Excel直接另存为JSON的方法。该方法的特点是:除可以正常的直接按照表头作为key,内容作为value输出之外,还可以

    2022年6月14日
    27
  • pycharm如何运行ipynb_python安装jupyter

    pycharm如何运行ipynb_python安装jupyter存在问题:jupyter代码无法在pycharm中运行原因:工作文件和安装文件不统一引起的解决方案:pycharm中新建工程项目时,要将图中所示红色部分勾选,从而保证可以引用到相应文件补充知识:jupyter在浏览器中代码不执行在机器学习的时候,当开始就遇到问题,pycharm启动jupyternotebook之后,浏览器前两行代码执行的好好的,后面就不执行了,上面的键全点了一遍(英语不行,…

    2022年8月27日
    6
  • keil5使用技巧

    keil5使用技巧文章目录前言1、关闭其他文件2、keil注释如何不乱码4、每段程序后都要空行5、添加头文件6、开启和关闭工程列表框7、找到库函数总结前言1、关闭其他文件2、keil注释如何不乱码4、每段程序后都要空行5、添加头文件6、开启和关闭工程列表框7、找到库函数方法就是打开一个.h文件拖到最后→看到如下字样的,就是库函数了/**@defgroupGPIO_Exported_Functions@{*/例如:找EXTI的库函数打开exti.h文件,拖到最后,这些就是EXTI

    2022年5月23日
    63
  • 神经网络学习笔记1——BP神经网络原理到编程实现(matlab,python)[通俗易懂]

    神经网络学习笔记1——BP神经网络原理到编程实现(matlab,python)[通俗易懂]神经网络学习笔记1——BP神经网络原理到编程实现(matlab,python)

    2022年7月20日
    20
  • 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办…

    准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办…有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次打开:服务和应用程序—-服务。找到右侧的:windowsUpdate;3、鼠标双击windowsupdate,打开属性启动类型选:禁用,这样就关…

    2022年6月15日
    252

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号