【java】jdom生成xml文件

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




發佈了36 篇原創文章 · 獲贊 29 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章