使用dom4j写xml文件——源码
1 dom4j下载与配置
1.1 dom4j下载
请移步下载链接
1.2 maven依赖
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>com.springsource.org.dom4j</artifactId>
<version>2.1.1</version>
</dependency>
2 使用dom4j生成xml文档详细步骤
步骤1 创建一个Document对象的空白文档。
步骤2 向Document中添加根元素,返回的Element表示根元素,xml文档只有一个根元素。
步骤3 添加子元素。
步骤4 创建XmlWriter对象
步骤5 输出Document对象
3 实例
3.1 元素对象
package cnblogs.testCSV;
public class Person {
private String id;
private String name;
private String sex;
private int age;
public Person() {
}
public Person(String id, String name, String sex, int age) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3.2 写xml
package cnblogs.testXml; import cnblogs.testCSV.Person;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter; import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID; public class FileXml {
private static final String fileName = "D:\\workspace\\tmp\\obj.xml"; /**
* 生成uuid
*
* @return 32位uuid
*/
private static String getUUID32() {
return UUID.randomUUID().toString().replace("-", "").toLowerCase();
} /**
* 构造数据
*
* @return 数据
*/
private static List<Person> buildData() {
List<Person> personList = new ArrayList<Person>(10);
personList.add(new Person(getUUID32(), "张三", "female", 26));
personList.add(new Person(getUUID32(), "李四", "man", 34));
personList.add(new Person(getUUID32(), "王五", "female", 55));
personList.add(new Person(getUUID32(), "一一", "female", 11));
return personList;
} public static void writeXml() {
List<Person> personList = buildData();
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("personlist");
for (Person emp : personList) {
Element empEle = root.addElement("person");
Element nameEle = empEle.addElement("id");
nameEle.addText(emp.getId());
Element ageEle = empEle.addElement("name");
ageEle.addText(emp.getName());
Element genderEle = empEle.addElement("sex");
genderEle.addText(emp.getSex());
Element salEle = empEle.addElement("age");
salEle.addText(emp.getAge() + "");
empEle.addAttribute("id", emp.getId() + ""); //向当前元素中添加指定名字以及对应值的属性
}
try {
XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
FileOutputStream fos = new FileOutputStream(fileName);
writer.setOutputStream(fos);
writer.write(doc);
writer.close();
}
catch (Exception e) {
e.printStackTrace();
}
} /**
* @param args
*/
public static void main(String[] args) throws Exception {
writeXml();
}
}
3.3 输出结果

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
使用dom4j写xml文件——源码的更多相关文章
- 通过dom4j写.xml文件
步骤: 1.左键选中src,点击红圈2: 2.新建类: 3.开始写代码: package com.bjsxt.xml; import java.io.File; import java.io.File ...
- 用DOM和DOM4J写xml文件时,怎样设置xml文档的编码
//在将xml文档传输出去时,利用Transformer中的setOutputProperty方法 TransformerFactory trans = TransformerFactory.newI ...
- 用DOM4J解析XML文件案例
用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:
- Java进阶(二十七)使用Dom4j解析XML文件
使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...
- org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope on: org.dom4j.tree.DefaultElement (dom4j写入XML文件,标签中带【:】(冒号)解决办法)
用dom4j操作写XML文件,标签中含有冒号,会报 org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope o ...
- 【java项目实战】dom4j解析xml文件,连接Oracle数据库
简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...
- 手写Koa.js源码
用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...
- 手写@koa/router源码
上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有.要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中 ...
- 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
随机推荐
- 2019年北航OO第二次博客总结
一.多线程电梯系列作业设计策略 1. 第一次作业——"FAFS傻瓜电梯" 第一次作业是先来先服务的"傻瓜电梯",我当时觉得这个设计未免太简单了,于是就在傻瓜电梯 ...
- 队列的理解和实现(二) ----- 链队列(java实现)
什么是链队列 链队是指采用链式存储结构实现的队列,通常链队用单链表俩表示.一个链队显然需要两个分别指示队头和队尾的指针,也称为头指针和尾指针,有了这两个指针才能唯一的确定. package 链队列; ...
- python 类中的某个函数作为装饰器
在python的类中,制作一个装饰器的函数, class A: def wrapper(func): ###装饰器 def wrapped(self,*arg,**kwargs) ... return ...
- ES6之新增let命令使用方法
let命令的用法 let是es6中的声明一个变量的命令,只在它声明的代码块中有效,出了这个代码块就会报错.也非常适合for循环,在循环中i的值只在循环语句中生效,在外边取不到的. var命令声明的是一 ...
- WC2019退役记
sb题不会,暴力写不完,被全场吊着打,AFO
- Webapps初步_认识HTTP例子程序读取
package servlet_01; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io. ...
- UI的线程问题:单线程原因及更新UI的四种方式
1.UI线程为什么设计为单线程? UI控件的操作不是线程安全的,对于多线程并发访问的时候,如果使用加锁机制会导致: UI控件的操作变得很复杂. 加锁的操作必定会导致效率下降. 所以android系统在 ...
- GitHub与Git指令入门
GitHub入门 创建账户 之前做代码版本控制都是在bitbucket上面的私有仓库.现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历. 首先 ...
- HUE配置文件hue.ini 的liboozie和oozie模块详解(图文详解)(分HA集群)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- JavaScript数据结构-13.散列碰撞(开链法)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...