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文件——源码的更多相关文章

  1. 通过dom4j写.xml文件

    步骤: 1.左键选中src,点击红圈2: 2.新建类: 3.开始写代码: package com.bjsxt.xml; import java.io.File; import java.io.File ...

  2. 用DOM和DOM4J写xml文件时,怎样设置xml文档的编码

    //在将xml文档传输出去时,利用Transformer中的setOutputProperty方法 TransformerFactory trans = TransformerFactory.newI ...

  3. 用DOM4J解析XML文件案例

    用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:

  4. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

  5. 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 ...

  6. 【java项目实战】dom4j解析xml文件,连接Oracle数据库

    简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...

  7. 手写Koa.js源码

    用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...

  8. 手写@koa/router源码

    上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有.要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中 ...

  9. 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题

    首先 关于dom4j的API,有如下: 当然  其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...

随机推荐

  1. Usboot V1.68版本

    V1.68版本,我的收藏之一 官方的介绍: 市面上现在大多数U盘都支持启动机器的功能,但是要制作启动型U盘,需要进入WIN98,现在很多人机器 上都没有98了吧,呵呵.为了做个启动盘,装一个98,多冤 ...

  2. 【Qt】VS2010编译Qt5.3.2 64bit

    1. 为什么要这么做 在Windows下,Qt官网默认提供的二进制版本大多是32位,目前(2015.01.24)只对VS2013提供了64位版本,如下图所示: 为了适应我目前安装的VS2010 IDE ...

  3. 线程池(Linux实现)

    讨论QQ群:135202158 本文技术参考了sourceforge项目c thread pool,链接:http://sourceforge.net/projects/cthpool/ 线程池如上一 ...

  4. Jmeter之线程组详解

    hello,更新几天的分享,线程数现在才分享,感觉怪怪的,原谅我没有考虑到一个顺序问题哈,那里总结好了,我就发那里,先把组件都写完,再来项目实战,希望大家不要责怪哈,内容有写的不详细的,或者我说错了, ...

  5. sql注入原理详解(一)

    我们围绕以下几个方面来看这个问题: 1.什么是sql注入? 2.为什么要sql注入? 3.怎样sql注入? 1.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或 ...

  6. asp.net c# 虾米音乐API

    最近用到虾米音乐的功能,主要是做一个分享音乐功能,找到好多代码,但是比较杂,有用的很少,因 此在此记录下,方便以后自己使用. 对于第三方网站,只要获取了唯一标识,基本上能抓取一些信息. 虾米 音乐的I ...

  7. 总结day3 ---- 进制转换,字符串切片,字符串常用方法.,for 循环,

    前情提要: int 的相关操作 进制转换 bit_lenth() str 的索引,以及常用的相关方法 for 循环 索引 切片 相关方法 一  : int 的相关操作 int 主要用于生活中的计算问题 ...

  8. http协议缓存小结

    缓存可以使用expire方式,设置到期时间,缓存的时间等于expire设置的时间减去当前的时间 也可以使用no-cache的方式进行缓存,当设置了no-cache的方式时,以no-cache的为准,e ...

  9. 10分钟教你用Python打造天气机器人+关键字自动回复+定时发送

    01 前言 Hello,各位小伙伴.自上次我们介绍了Python实现天气预报的功能以后,那个小程序还有诸多不完善的地方,今天,我们再次来完善一下我们的小程序.比如我们想给机器人发“天气”等关键字,它就 ...

  10. springcloud(七)-Feign声明式REST调用

    前言 前面我们使用的RestTemplate实现REST API调用,代码大致如下: public User findById(@PathVariable Long id) { return rest ...