使用dom4j写xml文件——源码
Posted guobm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用dom4j写xml文件——源码相关的知识,希望对你有一定的参考价值。
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文件——源码的主要内容,如果未能解决你的问题,请参考以下文章
dom4j的测试例子和源码详解(重点对比和DOMSAX的区别)