- 主要的Classes
org.dom4j.Document->Specify xml documents
org.dom4j.DocumentHelper->Creates Document
org.dom4j.Element->Specify Element
org.dom4j.io.XMLWriter->Writes XML
public void CreatDom4jXML(){
/*创建document对象*/
Document doc = DocumentHelper.createDocument();
/*设置编码格式(默认UTF-8)*/
doc.setXMLEncoding("GBK");
/*添加根节点*/
Element root=doc.addElement("students");
/*添加属性*/
root.addAttribute("class", "一班").addAttribute("count", "3");
/*添加子节点*/
Element student=root.addElement("student");
/*设置节点内容*/
student.addElement("name").setText("小明");
student.addElement("age").setText("10");
student=root.addElement("student").addAttribute("position", "班长");
student.addElement("name").setText("小汪");
student.addElement("age").setText("11");
student=root.addElement("student");
student.addElement("name").setText("小兵");
student.addElement("age").setText("12");
/*将doc文本写入xml文档*/
String xmlStr = doc.asXML();
try{
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(
new FileWriter(new File("students.xml")), format);
writer.setEscapeText(false);
writer.write(xmlStr);
writer.close();
System.out.println("写入完成...");
} catch(IOException e){
System.err.println(e.getMessage());
}
}
生成的xml文档
<?xml version="1.0" encoding="GBK"?>
<students class="一班" count="3">
<student>
<name>小明</name>
<age>10</age>
</student>
<student position="班长">
<name>小汪</name>
<age>11</age>
</student>
<student>
<name>小兵</name>
<age>12</age>
</student>
</students>
在了解了 dom4j 的 api 后,并不难理解将文本写入xml文档的过程。对于过于复杂的xml文档,在添加元素的时候要细心。