上篇介绍了jdom解析xml文件。这篇就介绍jdom生成xml。这样就会对jdom操作xml有一个彻底的了解了。一个是正向解析,另一个是方向生成。
package com.rthb.test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class CreatXml {
/**
* 创建人:zhanglx
* 创建时间:下午04:33:37
* 描述 :用jdom生成xml
*/
public static void BulidXml(){
Element root=new Element("School");//创建根节点School节点
Document document=new Document(root);//把根节点添加打文档中
Element elementclass=new Element("class");//创建根节点的子节点
elementclass.setAttribute("name","张三");//给子节点添加name属性
elementclass.setAttribute("id","002");//给子节点添加id属性
Element element_subject=new Element("subject");//给子节点添加subject元素
element_subject.addContent("数学");
elementclass.addContent(element_subject);
Element element_subject1=new Element("score");//给子节点添加score元素
element_subject1.addContent("90");
elementclass.addContent(element_subject1);
Element element_subject2=new Element("card");//给子节点添加card元素
element_subject2.addContent("024125");
elementclass.addContent(element_subject2);
root.addContent(elementclass);//把子节点添加到根节点中。
XMLOutputter XMLOut = new XMLOutputter(FormatXML()); //生成xml文件
try {
XMLOut.output(document, new FileOutputStream("src\\school.xml"));
} catch (FileNotFoundException e) {
System.out.println("生成xml文件失败!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("生成xml文件失败!");
e.printStackTrace();
}
}
public static void main(String[] args) {
BulidXml();
}
public static Format FormatXML(){
//格式化生成的xml文件
Format format = Format.getCompactFormat();
format.setEncoding("utf-8");
format.setIndent(" ");
return format;
}
}
生成的xml文件school.xml。(我是在项目src下生成,在main方法执行一遍后,要刷新一下,要不然就不会出现了)
<?xml version="1.0" encoding="utf-8"?>
<School>
<class name="张三" id="002">
<subject>数学</subject>
<score>90</score>
<card>024125</card>
</class>
</School>