在pom.xml中引入dom4j.jar包:
<!-- 使用log4j记录服务器日志 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency>
主要的操作步骤:
读:将文件读入程序 1.1创建文件对象 File f=new File("d:\\student.xml"); 1.2把文件对象 变为xml文件对象 SAXReader sreader=new SAXReader(); try { Document doc=sreader.read(f); 2.找到文档对象的根节点 Element root=doc.getRootElement(); 3.找到根节点下的 Student子节点 List<Element> stus=root.elements("Student"); 4.循环遍历 访问每个 Student节点下的属性节点 Student stu; for (Element el : stus) stu=new Student(); stu.setStuId(el.elementText("stuId")); stu.setStuName(el.element("stuName").getText()); stu.setStuAge(Integer.parseInt(el.elementText("stuAge"))); this.stus.add(stu); 写:将程序内容写入文件 1.创建文档对象 如果路径和某个文件路径相同 则覆盖 Document doc=DocumentHelper.createDocument(); 2.为文档对象创建根节点 保存该节点 便于后续操作 Element root=doc.addElement("Students");//根节点的名字叫 Students 3.循环集合中的对象 每个对象应该对应一个Students的子节点 for (Student st : stus) { Element stu=root.addElement("Student"); stu.addElement("stuId").setText(st.getStuId()); stu.addElement("stuName").setText(st.getStuName()); stu.addElement("stuAge").setText(st.getStuAge()+""); } 上面的步骤可以保证xml文档的节点结构 以及数据来源 带还没有真正的存入文件 4.将整个操作存入文件中,要创建文档的写入对象,需要准备 1.输出流 2.调整格式 try { FileOutputStream outStream=new FileOutputStream("d:\\student.xml"); OutputFormat fom=OutputFormat.createPrettyPrint();
XMLWriter writer=new XMLWriter(outStream,fom);
writer.write(doc); writer.close(); outStream.close();