当前位置: 移动技术网 > IT编程>开发语言>Java > 使用dom4j写xml文件——源码

使用dom4j写xml文件——源码

2018年10月03日  | 移动技术网IT编程  | 我要评论

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 }

 

输出结果

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网