欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用dom4j写xml文件——源码

程序员文章站 2022-10-01 17:28:59
dom4j版本:2.1.1 使用dom4j生成xml文档步骤: 1、创建一个Document对象的空白文档。 2、向Document中添加根元素,返回的Element表示根元素,xml文档只有一个根元素。 3、添加子元素。 4、创建XmlWriter对象 5、输出Document对象 元素对象 写x ......

dom4j版本:2.1.1

使用dom4j生成xml文档步骤:

1、创建一个document对象的空白文档。

2、向document中添加根元素,返回的element表示根元素,xml文档只有一个根元素。

3、添加子元素。

4、创建xmlwriter对象

5、输出document对象

元素对象

 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 }

 

写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 }

 

输出结果

使用dom4j写xml文件——源码