使用DOM4J要导包

xml信息

<?xml version="1.0" encoding="UTF-8"?><students> <student> <name>苏鸿</name>  <age>20</age>  <school>北方交大</school> </student>  <student> <name>李明</name>  <age>21</age>  <school>北大</school> </student>
</students>

学生对象

package web9_29.lx.lx2;public class Student {private String name;private int age;private String school;public Student() {}public Student(String name, int age, String school) {this.name = name;this.age = age;this.school = school;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSchool() {return school;}public void setSchool(String school) {this.school = school;}public String toString() {return "Student{name = " + name + ", age = " + age + ", school = " + school + "}";}
}

DOM4J解析XML 

1.读取XML文件,获得document对象

SAXReader saxReader=new SAXReader();

 Document doc=saxReader.read(new File("input.xml"));//input是你xml的文件位置

2.//获取文档的根元素
Element root=doc.getRootElement();

3.//获取某接节点的单个子节点

Element  nameElement=root.element("name");//name是节点名

4.//获取节点的文本内容

String text=nameElement.getText();

package web9_29.lx.lx2;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class DOM4JStu {public static void main(String[] args) {//创建list集合保存学生对象List<Student> list=new ArrayList<>();try {//读取XML文件,获得document对象SAXReader saxReader=new SAXReader();Document doc=saxReader.read(new File("src\\web9_29\\lx\\lx2\\Student.xml"));//获取文档的根元素Element root=doc.getRootElement();//遍历根元素的节点元素Iterator<?> it=root.elementIterator();while (it.hasNext()){//创建学生对象Student student = new Student();Element stuElement = (Element) it.next();//获取节点Element nameElement=stuElement.element("name");Element ageElement=stuElement.element("age");Element schoolElement=stuElement.element("school");//获取节点的文本类容给学生对象student.setName(nameElement.getText());student.setAge(Integer.parseInt(ageElement.getText()));student.setSchool(schoolElement.getText());//将学生对象添加到list集合中list.add(student);}} catch (DocumentException e) {e.printStackTrace();}//遍历集合for (Student s : list) {System.out.println(s);}}
}

运行图片

添加学员信息

package web9_29.lx.lx2;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;public class DOM4JStuAdd {public static void main(String[] args) {//创建集合存储学生对象List<Student> list=new ArrayList<>();//要添加的学生信息list.add(new Student("赵六",20,"安徽大学"));list.add(new Student("刘启",21,"安徽大学江淮学员"));try {//读取XML文件,获得document对象SAXReader saxReader = new SAXReader();Document document=saxReader.read(new File("src\\web9_29\\lx\\lx2\\Student.xml"));//获取文档的根元素Element root=document.getRootElement();for (Student s : list) {//添加student节点Element newStudentElement=root.addElement("student");//在student节点下添加节点name,age,school。并通过学生对象赋值Element nameElement=newStudentElement.addElement("name");nameElement.setText(s.getName());Element ageElement=newStudentElement.addElement("age");ageElement.setText(String.valueOf(s.getAge()));Element schoolElement=newStudentElement.addElement("school");schoolElement.setText(s.getSchool());}OutputFormat of=OutputFormat.createPrettyPrint();//指定编码格式of.setEncoding("UTF-8");XMLWriter writer=new XMLWriter(new FileWriter("src\\web9_29\\lx\\lx2\\Student.xml"),of);writer.write(document);writer.close();} catch (DocumentException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

运行后图片

使用DOM4J解析XML文档,输出所有学员信息和添加学生信息相关推荐

  1. 【学习笔记】关于DOM4J:使用DOM4J解析XML文档

    一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...

  2. 分别使用dom和dom4j解析XML文档

    1.dom和dom4j的特点 dom是基于XML的树结构来完成解析的.dom解析XML文档时,会根据读取的文档,构建一个驻留内存的树结构,然后就可以使用dom接口来对XML文档进行增删查改等操作.do ...

  3. Dom4j 解析Xml文档及XPath查询 学习笔记

    本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" -- 在当前浏览器页面,按键 "Ctrl+F" 按键 ...

  4. Dom4j 解析Xml文档及 XPath查询 学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" ...

  5. Javaweb使用dom4j解析xml文档的一般姿势

    使用dom4j解析xml文档之前必须引入jar public class TestDom4j {@Testpublic void testReadWebXML() {try {// 1.获取解析器SA ...

  6. maven中用dom4j解析xml文档

    1.需求分析 关于dom4j的详细使用方法请参考:https://blog.csdn.net/qq_41860497/article/details/84339091 在xml中存储了过滤器的的初始化 ...

  7. DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...

    Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM开发的.与JDOM不同的是,dom4j使用接口和抽象的人分离出来而后独立基类,虽然Dom4j的API相对要复杂一些,但它提供了 ...

  8. 使用DOM4J解析XML文档

    先下载dom4j jar包,引入到项目中后开始使用.下载连接在文章末尾. 示例:解析如下phoneInfo.xml phoneInfo.xml <?xml version="1.0&q ...

  9. DOM4J解析XML文档

    一.XML概述 XML可扩展标记语言,类似HTML XML的设计宗旨是传输数据而非显示数据 XML被设计具有自我描述性 XML没有被预定义,需要自己定义标签 XML不是HTML的替代,它们两个是为不同 ...

最新文章

  1. Python 基础语法(三)
  2. spring配置xml遇到的一些错误,最后修改的版本
  3. 连接相机无法识别_车牌识别一体机在汽修门店安装中要注意的事项
  4. 使用H5实现机器人脸
  5. php access allow,PHP标头不适用于Access-Control-Allow-Origin
  6. ssms2008 代码自动提示_使用 SSMS 的提示和技巧 - SQL Server Management Studio (SSMS) | Microsoft Docs...
  7. java returnaddress,JVM之数据类型
  8. 计算机网络系统由什么系统组成,从资源构成上看计算机网络系统由什么构成
  9. postman断言作用及怎么使用
  10. 停止使用C#异步流保存到磁盘
  11. 三角形周长最短问题_1.八年级数学:DE平分ABC的周长?怎么求DE的长?你想了很久吧?...
  12. 当知识图谱遇上预训练语言模型 -- 留言送书
  13. LaTeX 注释一行的某一部分
  14. doctrine2 mysql_Doctrine2-完整创建数据库
  15. 利用74HC138译码器实现数码管显示
  16. 是时候更换你的无线路由器(wifi暴力破解)
  17. Proteus8仿真STM32F103R6的电压轨道问题
  18. 砌体的弹性模量计算_3.2 砌体的计算指标
  19. JAVA的file.separate
  20. 中国前10名的休闲服品牌企业信息化漫谈--S公司

热门文章

  1. win10计算机服务打不开,windows10设置打不开怎么办_win10设置功能打不开解决方法...
  2. 一层一层剥开背包问题
  3. Synchronized解析——一层一层剥开洋葱的心
  4. 剥开ios 系统sandbox神秘面纱
  5. 两个不规则四边形IOU计算方法
  6. 厉害了!那个用文言文编程的小哥,竟从28万行唐诗中找出了对称矩阵
  7. Python之quote()使用
  8. React native 照片压缩上传
  9. html5 漂亮单选按钮样式,10个HTML5美化版复选框和单选框
  10. LOL代练检测——2019腾讯游戏安全技术竞赛决赛记录