Java中使用DOM4J生成xml文件并解析xml文件的操作

目录

  • 一、前言
  • 二、准备依赖
  • 三、生成xml文件生成标准展示
  • 四、解析xml文件
  • 五、总结

一、前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理一下自己的理解,只适合刚刚学习的,一起理解!今天我们把解析xml文件和生成xml文件在一起来展示.

二、准备依赖
dom4jdom4j1.6.1


三、生成xml文件生成标准展示
Java中使用DOM4J生成xml文件并解析xml文件的操作
文章图片

生成xml代码
/*** 使用DOM4J生成xml方法*/public static void createXml(){try {// 创建document对象Document document = DocumentHelper.createDocument(); // 创建根节点bookRootElement 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(); }//创建一个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; @Datapublic class Student {private int id; private String name; private int age; }

解析xml文件方法
public static void analysis(){// 把要解析的xml变成file文件File file = new File("E:\\student.xml"); // 获取解析器对象SAXReader reader = new SAXReader(); // 把文件解析成document树Document document = null; try {document = reader.read(file); } catch (DocumentException e) {e.printStackTrace(); }// 获取根节点Element studentRoot = document.getRootElement(); // 获取根节点中所有节点List elements = studentRoot.elements(); // 存放xml中节点的数据集合List list = new ArrayList<>(); // 便利所有节点for (Element child : elements) {Student student = new Student(); //已知属性名情况下student.setId(Integer.parseInt(child.attributeValue("id"))); //获取属性的数据//已知子元素名的情况下student.setName(child.elementText("name")); //获取元素中值student.setAge(Integer.parseInt(child.elementText("age"))); //获取元素中值list.add(student); //未知属性名情况下List attributes = child.attributes(); for (Attribute attribute : attributes) {System.out.println(attribute.getName() + "---> " + attribute.getValue()); }//未知子元素名情况下List elementList = child.elements(); for (Element ele : elementList) {System.out.println(ele.getName() + "--->" + ele.getText()); }}//把解析xml出来的数据集合打印list.forEach(x-> System.out.println(x)); }

解析结果展示
Java中使用DOM4J生成xml文件并解析xml文件的操作
文章图片


五、总结 这样我们就把DOM4J来生成xml文件和解析xml文件就都操作完成了,有什么问题留言哦!!谢谢大家
【Java中使用DOM4J生成xml文件并解析xml文件的操作】到此这篇关于Java中使用DOM4J生成xml文件并解析xml文件的的文章就介绍到这了,更多相关java dom4j 解析xml文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读