Dom4j 解析 构建 XML

本贴最后更新于 2699 天前,其中的信息可能已经时移世易

Dom4j 是 XML 常用解析方式之一
性能 功能都很强大 简单介绍一下

Maven 依赖(不用 Maven 可自行下载)

<dependencies> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.6</version> </dependency> </dependencies>

上述配置中 jaxen 的包主要在使用 Xpath 时会被用到。

String XML 互转

SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new ByteArrayInputStream(xml.getBytes())); 或 document = DocumentHelper.parseText(xml); document.asXML();

生成 XML

Document document=DocumentHelper.createDocument(); Element root=document.addElement("DATAINFOS"); root.addAttribute("uuid", "当前批数据的uuid"); Element dataInfoEle=root.addElement("DARAINFO"); Element categoryCodeEle=dataInfoEle.addElement("CATEGORYCODE"); Element categoryNameEle=dataInfoEle.addElement("CATEGORYNAME"); Element uuidEle=dataInfoEle.addElement("UUID"); Element lastModifyRecordTimeEle=dataInfoEle.addElement("LASTMODIFYRECORDTIME"); categoryCodeEle.addAttribute("REMARK", "类别编码"); categoryNameEle.addAttribute("REMARK", "类别名称"); uuidEle.addAttribute("REMARK","UUID"); lastModifyRecordTimeEle.addAttribute("REMARK", "上一次变更时间"); lastModifyRecordTimeEle.addAttribute("STARTTIME", startTime); lastModifyRecordTimeEle.addAttribute("ENDTIME",endTime); categoryCodeEle.addText(categorycode); categoryNameEle.addText(categoryname); uuidEle.addElement(uuid); document.setXMLEncoding("UTF-8"); System.out.println(document.asXML()); return document.asXML(); 思路生成根节点 逐个往下搭即可

解析 XML

记住一下几个方法即可 Element root=document.getRootElement(); //获取根节点 root.elementText("CODE") //节点名取内容 root.element("CODE") //查找节点 root.getText() //获取节点内容 List<Element> dataList=ele.elements(); //当前节点下所有子节点

参考 https://www.cnblogs.com/nerxious/archive/2013/05/04/3060263.html

  • XML
    28 引用 • 59 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...