使用DOM4J解析XML文档,输出所有学员信息和添加学生信息
使用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文档,输出所有学员信息和添加学生信息相关推荐
- 【学习笔记】关于DOM4J:使用DOM4J解析XML文档
一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...
- 分别使用dom和dom4j解析XML文档
1.dom和dom4j的特点 dom是基于XML的树结构来完成解析的.dom解析XML文档时,会根据读取的文档,构建一个驻留内存的树结构,然后就可以使用dom接口来对XML文档进行增删查改等操作.do ...
- Dom4j 解析Xml文档及XPath查询 学习笔记
本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" -- 在当前浏览器页面,按键 "Ctrl+F" 按键 ...
- Dom4j 解析Xml文档及 XPath查询 学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" ...
- Javaweb使用dom4j解析xml文档的一般姿势
使用dom4j解析xml文档之前必须引入jar public class TestDom4j {@Testpublic void testReadWebXML() {try {// 1.获取解析器SA ...
- maven中用dom4j解析xml文档
1.需求分析 关于dom4j的详细使用方法请参考:https://blog.csdn.net/qq_41860497/article/details/84339091 在xml中存储了过滤器的的初始化 ...
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...
Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM开发的.与JDOM不同的是,dom4j使用接口和抽象的人分离出来而后独立基类,虽然Dom4j的API相对要复杂一些,但它提供了 ...
- 使用DOM4J解析XML文档
先下载dom4j jar包,引入到项目中后开始使用.下载连接在文章末尾. 示例:解析如下phoneInfo.xml phoneInfo.xml <?xml version="1.0&q ...
- DOM4J解析XML文档
一.XML概述 XML可扩展标记语言,类似HTML XML的设计宗旨是传输数据而非显示数据 XML被设计具有自我描述性 XML没有被预定义,需要自己定义标签 XML不是HTML的替代,它们两个是为不同 ...
最新文章
- Python 基础语法(三)
- spring配置xml遇到的一些错误,最后修改的版本
- 连接相机无法识别_车牌识别一体机在汽修门店安装中要注意的事项
- 使用H5实现机器人脸
- php access allow,PHP标头不适用于Access-Control-Allow-Origin
- ssms2008 代码自动提示_使用 SSMS 的提示和技巧 - SQL Server Management Studio (SSMS) | Microsoft Docs...
- java returnaddress,JVM之数据类型
- 计算机网络系统由什么系统组成,从资源构成上看计算机网络系统由什么构成
- postman断言作用及怎么使用
- 停止使用C#异步流保存到磁盘
- 三角形周长最短问题_1.八年级数学:DE平分ABC的周长?怎么求DE的长?你想了很久吧?...
- 当知识图谱遇上预训练语言模型 -- 留言送书
- LaTeX 注释一行的某一部分
- doctrine2 mysql_Doctrine2-完整创建数据库
- 利用74HC138译码器实现数码管显示
- 是时候更换你的无线路由器(wifi暴力破解)
- Proteus8仿真STM32F103R6的电压轨道问题
- 砌体的弹性模量计算_3.2 砌体的计算指标
- JAVA的file.separate
- 中国前10名的休闲服品牌企业信息化漫谈--S公司
热门文章
- win10计算机服务打不开,windows10设置打不开怎么办_win10设置功能打不开解决方法...
- 一层一层剥开背包问题
- Synchronized解析——一层一层剥开洋葱的心
- 剥开ios 系统sandbox神秘面纱
- 两个不规则四边形IOU计算方法
- 厉害了!那个用文言文编程的小哥,竟从28万行唐诗中找出了对称矩阵
- Python之quote()使用
- React native 照片压缩上传
- html5 漂亮单选按钮样式,10个HTML5美化版复选框和单选框
- LOL代练检测——2019腾讯游戏安全技术竞赛决赛记录