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