一、前言
现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理一下自己的理解,只适合刚刚学习的,一起理解!今天我们把解析xml文件和生成xml文件在一起来展示.
二、准备依赖
<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency>
三、生成xml文件生成标准展示
生成xml代码
/** * 使用DOM4J生成xml方法 */ public static void createXml(){ try { // 创建document对象 Document document = DocumentHelper.createDocument(); // 创建根节点bookRoot Element StudentRoot = document.addElement("StudentRoot"); // 向根节点中添加第一个节点 Element book1 = StudentRoot.addElement("student"); // 向子节点中添加属性 book1.addAttribute("id","1"); // 向节点中添加子节点 Element name = book1.addElement("name"); // 向子节点赋值 name.setText("小乔"); Element price = book1.addElement("age"); price.setText("18"); // 向根节点中添加第二个节点 Element book2 = StudentRoot.addElement("student"); book2.addAttribute("id","2").addElement("name").setText("大桥"); book2.addElement("age").setText("20"); // 向根节点中添加第三个节点 Element book3 = StudentRoot.addElement("student"); book3.addAttribute("id","3").addElement("name").setText("孙策"); book3.addElement("age").setText("21"); // 设置生成xml的格式 OutputFormat of = OutputFormat.createPrettyPrint(); // 设置编码格式 of.setEncoding("UTF-8"); // 生成xml文件 File file = new File("E:\\student.xml"); if (file.exists()){ file.delete(); <strong>本文来源gaodaima#com搞(代@码$网6</strong> } //创建一个xml文档编辑器 XMLWriter writer = new XMLWriter(new FileOutputStream(file), of); //把刚刚创建的document放到文档编辑器中 writer.write(document); writer.close(); } catch (Exception e) { e.printStackTrace(); } }
四、解析xml文件
解析xml的文件就是刚刚导出的那个样子,我们展示两种情况,一个是知道属性名字和子元素名字的我们把解析的xml文件数据放到实体类中.不知道的就直接打印到控制台.
实体类展示
import lombok.Data; @Data public class Student { private int id; private String name; private int age; }