上一篇已经介绍了如何使用dom4j对xml进行读取解析,现在谈谈怎么使用dom4j操作xml文件的输出。
首先去下载个DOM4J的jar包,以下两个网站选一个吧,下载后导入项目
代码实现过程如下:
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Text;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class DOM4J {
public static void dom4jTest(){
Document doc = DocumentHelper.createDocument();
Element students = DocumentHelper.createElement("Students");//此Students为根元素
Attribute schoolName = DocumentHelper.createAttribute(students, "schoolName", "xiaoxun");
Attribute schooMaster = DocumentHelper.createAttribute(students, "schooMaster", "zengjiaxun");
Text studentsText = DocumentHelper.createText("我是根元素中的文本内容。。。");
doc.add(students);
students.add(schoolName);
students.add(schooMaster);
students.add(studentsText);
Element student1 = DocumentHelper.createElement("Student");//此Student1为Students中的第一个元素
Attribute id1 = DocumentHelper.createAttribute(student1, "id", "01");
Attribute sex1 = DocumentHelper.createAttribute(student1, "sex", "男");
Text studentText1 = DocumentHelper.createText("我是第一个student元素中的文本内容。。。。");
students.add(student1);
student1.add(id1);
student1.add(sex1);
student1.add(studentText1);
Element student2 = DocumentHelper.createElement("Student");//此Student1为Students中的第二个元素
Attribute id2 = DocumentHelper.createAttribute(student2, "id2", "02");
Attribute sex2 = DocumentHelper.createAttribute(student2, "sex2", "女");
Text studentText2 = DocumentHelper.createText("我是第二个student元素的中的文本内容。。。。。");
students.add(student2);
student2.add(id2);
student2.add(sex2);
student2.add(studentText2);
//将以上内容写到xml文件中
OutputFormat format = OutputFormat.createPrettyPrint();//一种美观的文本内容打印格式
XMLWriter writer = null;
try {
writer = new XMLWriter(new FileWriter("xun.xml"), format);
writer.write(doc);
writer.flush();
System.out.println("执行成功!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
dom4jTest();
}
}
效果如下: