import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
/**
* 使用DOM生成xml文档
* @author victory黄海锋
*
*/
public class writeXmldemon {
public static void main(String[] args) {
XMLWriter writer=null;
List<emp> emplist
=new ArrayList<emp>();
emplist.add(
new emp(1, "zhang", 22, "man", 3000)
);
emplist.add(
new emp(2, "hai", 20, "man", 4000)
);
emplist.add(
new emp(3, "feng", 19, "man", 5000)
);
/*
* 将emplist集合钟的员工信息保存
* 到myemp.xml文档中
*
* 写出XML文档的大致步骤:
* 1:创建一个Document对象表示一个
* 空白的文档
* 2:向Document对象中添加根元素
* 3:按照应当生成的xml文档的格式逐级
* 向根元素添加子元素以形成xml
* 文档格式
* 4:创建XmlWriter
* 5:通过XmlWriter将Document写出
*/
try {
//step 1
Document doc
=DocumentHelper.createDocument();//方便,不用设置文档格式
//2
/*
* 添加根标签<list>
*/
Element root
=doc.addElement("list");//添加根元素,只能使用一次
/*
* 将emplist集合中的每一个员工信息以一个
* <emp>标签的形式保存到<list>标签中
*/
for (emp emp : emplist) {
/*
* Element提供了相关方法
* Element addElement(String name)
* 向当前标签中添加给定的名字的子标签
* 并将其返回,以便继续操作
* Element addText(String text)
* 向当前标签中添加文本信息,返回值为
* 当前标签
* Element addAttribute(
* String name,String value)
* 向当前标签中添加属性,返回值为当前标签
*/
Element empElem
=root.addElement("emp");
Element nameElem
=empElem.addElement("name");
nameElem.addText(emp.getName());
Element ageElem
=empElem.addElement("sex");
ageElem.addText(
Integer.toString(emp.getAge())
);
Element genderElem//一步到位
=empElem.addElement("gender")
.addText(emp.getGender()
);
Element salaryElem
=empElem.addElement("salary")
.addText(emp.getSalary()+"");
empElem.addAttribute("id", emp.getId()+"");
}
writer=new XMLWriter(
new FileOutputStream("myemp.xml"),
OutputFormat.createPrettyPrint()//格式化,否则为一行
);//另外一种方法Ctrl+Shift+F
writer.write(doc);
System.out.println("finished !");
} catch (Exception e) {
e.printStackTrace();
}finally {
if (writer !=null) {
try {
writer.close();//想一想为什么不可以放在try里面
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
[dom4j]生成xml
最新推荐文章于 2024-01-04 14:59:08 发布