Java中使用DOM4J生成xml文件并解析xml文件的操作
目录
一、前言
二、准备依赖
三、生成xml文件生成标准展示
四、解析xml文件
五、总结
一、前言
现在有不少需求,是需要我们解析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();
}
//创建一个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;
}
解析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<Element> elements = studentRoot.elements();
// 存放xml中节点的数据集合
List<Student> 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<Attribute> attributes = child.attributes();
for (Attribute attribute : attributes) {
System.out.println(attribute.getName() + "---> " + attribute.getValue());
}
//未知子元素名情况下
List<Element> elementList = child.elements();
for (Element ele : elementList) {
System.out.println(ele.getName() + "--->" + ele.getText());
}
}
//把解析xml出来的数据集合打印
list.forEach(x-> System.out.println(x));
}
解析结果展示
五、总结
这样我们就把DOM4J来生成xml文件和解析xml文件就都操作完成了,有什么问题留言哦!!谢谢大家
到此这篇关于Java中使用DOM4J生成xml文件并解析xml文件的的文章就介绍到这了,更多相关java dom4j 解析xml文件内容请搜索无名以前的文章或继续浏览下面的相关文章希望大家以后多多支持无名!
同类资源
- Java支持库多线程调用不崩溃
易语言Java支持库多线程调用不崩溃例子源代码,Java支持库多线程调用方法。...
- 基于javaweb的个人网站的毕业设计,包含毕业答辩的PPT文件
基于javaweb的个人网站的毕业设计,包含毕业答辩的PPT文件本文件感兴趣的可以参考一下。...
- javaWeb汽车销售系统
javaWeb汽车销售系统本文件感兴趣的可以参考一下,只有前台汽车销售,没有后台管理系统。...
- Java Web应用教程,网上购物系统的实现
JavaWeb应用教程,网上购物系统的实现本文件感兴趣的可以参考一下,简单又实用,帮助我入门的好书。...
- JavaWeb课程作业之网上水果商店
JavaWeb课程作业之网上水果商店本文件感兴趣的可以参考一下,含sql文件,使用Eclipse+MySql制作。...
- 关于Java毕业设计作品
关于Java毕业设计作品本文件感兴趣的可以参考一下,分布式项目实战所有视频。...
- 数据库课程设计Java、SQL sever实现人事管理系统
Java、SQLsever实现人事管理系统本文件感兴趣的可以参考一下,压缩包里有程序说明和设计报告。...
- java利用POI读取Word文件中的内容
java利用POI读取Word文件中的内容本文件感兴趣的可以参考一下,比较简单的例子,正在学习中。...
- java药店管理系统毕业设计程序
java药店管理系统毕业设计程序本文件感兴趣的可以参考一下,采用java技术构建的一个管理系统。整个开发过程...
- 面向对象编程C++和Java比较教程
面向对象编程C++和Java比较教程本文件感兴趣的可以参考一下,面向对象编程C++和Java比较教程中英文完整版pd...
- Java Web课后习题答案
JavaWeb课后习题答案本文件感兴趣的可以参考一下,包含有课件,课程代码。...
- eclipse的web项目实现Javaweb购物车
eclipse的web项目实现Javaweb购物车本文件感兴趣的可以参考一下,主要介绍了eclipse的web项目实现Javaweb购...