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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于