上篇介紹了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>