使用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 元素对象

 1 package cnblogs.testCSV;
 2 
 3 public class Person {
 4     private String id;
 5     private String name;
 6     private String sex;
 7     private int age;
 8 
 9     public Person() {
10     }
11 
12     public Person(String id, String name, String sex, int age) {
13         this.id = id;
14         this.name = name;
15         this.sex = sex;
16         this.age = age;
17     }
18 
19     public String getId() {
20         return id;
21     }
22 
23     public void setId(String id) {
24         this.id = id;
25     }
26 
27     public String getName() {
28         return name;
29     }
30 
31     public void setName(String name) {
32         this.name = name;
33     }
34 
35     public String getSex() {
36         return sex;
37     }
38 
39     public void setSex(String sex) {
40         this.sex = sex;
41     }
42 
43     public int getAge() {
44         return age;
45     }
46 
47     public void setAge(int age) {
48         this.age = age;
49     }
50 }

3.2 写xml

 1 package cnblogs.testXml;
 2 
 3 import cnblogs.testCSV.Person;
 4 import org.dom4j.Document;
 5 import org.dom4j.DocumentHelper;
 6 import org.dom4j.Element;
 7 import org.dom4j.io.OutputFormat;
 8 import org.dom4j.io.XMLWriter;
 9 
10 import java.io.FileOutputStream;
11 import java.util.ArrayList;
12 import java.util.List;
13 import java.util.UUID;
14 
15 public class FileXml {
16     private static final String fileName = "D:\workspace\tmp\obj.xml";
17 
18     /**
19      * 生成uuid
20      *
21      * @return 32位uuid
22      */
23     private static String getUUID32() {
24         return UUID.randomUUID().toString().replace("-", "").toLowerCase();
25     }
26 
27     /**
28      * 构造数据
29      *
30      * @return 数据
31      */
32     private static List<Person> buildData() {
33         List<Person> personList = new ArrayList<Person>(10);
34         personList.add(new Person(getUUID32(), "张三", "female", 26));
35         personList.add(new Person(getUUID32(), "李四", "man", 34));
36         personList.add(new Person(getUUID32(), "王五", "female", 55));
37         personList.add(new Person(getUUID32(), "一一", "female", 11));
38         return personList;
39     }
40 
41     public static void writeXml() {
42         List<Person> personList = buildData();
43         Document doc = DocumentHelper.createDocument();
44         Element root = doc.addElement("personlist");
45         for (Person emp : personList) {
46             Element empEle = root.addElement("person");
47             Element nameEle = empEle.addElement("id");
48             nameEle.addText(emp.getId());
49             Element ageEle = empEle.addElement("name");
50             ageEle.addText(emp.getName());
51             Element genderEle = empEle.addElement("sex");
52             genderEle.addText(emp.getSex());
53             Element salEle = empEle.addElement("age");
54             salEle.addText(emp.getAge() + "");
55             empEle.addAttribute("id", emp.getId() + ""); //向当前元素中添加指定名字以及对应值的属性
56         }
57         try {
58             XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
59             FileOutputStream fos = new FileOutputStream(fileName);
60             writer.setOutputStream(fos);
61             writer.write(doc);
62             writer.close();
63         }
64         catch (Exception e) {
65             e.printStackTrace();
66         }
67     }
68 
69     /**
70      * @param args
71      */
72     public static void main(String[] args) throws Exception {
73         writeXml();
74     }
75 }

3.3 输出结果


   如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!

原文地址:https://www.cnblogs.com/guobm/p/9738599.html