java言語 dom4jでxmlを作成する
dom4j.java
import java.io.*;
import org.dom4j.*;
import org.dom4j.io.*;
/**
* DOM4JでXMLを作成する
*
*/
public class WriteBookDemo {
static String [][] data = {
{“1001″,"山田","上村","田中","60″,"2005″,"en"},
{“1002″,"Web","Spring","Bruce","54″,"2008″,"en" },
{“1003″,"青山","中島","黒上","70″,"1970″,"ja" },
{“1004″,"阿部","山本","重田","45″,"1965″,"ja" }
};
/**
* @param args
*/
public static void main(String[] args) {
writeBook(“mybook.xml");
}
/**
* 本のデータは指定されたxmlファイルに書き込む
* @param filename XMLファイル名
*/
public static void writeBook(String filename){
//1. Documentの対象を構造する
Document doc = DocumentHelper.createDocument();
//2. root要素を構造する
Element rootElmt = doc.addElement(“booklist");
//3. 構造子要素を構造
for(String[] book : data){
Element bookElmt
= rootElmt.addElement(“book");
//book要素に属性を追加
bookElmt.addAttribute(“isbn", book[0]);
bookElmt.addAttribute(“catalog", book[1]);
//book要素に4個子要素
Element nameElmt
= bookElmt.addElement(“name");
nameElmt.addAttribute(“lang", book[6]);
//name要素にデータを設定する
nameElmt.setText(book[2]);
Element authorElmt
= bookElmt.addElement(“author");
authorElmt.setText(book[3]);
Element priceElmt
= bookElmt.addElement(“price");
priceElmt.setText(book[4]);
Element yearElmt
= bookElmt.addElement(“year");
yearElmt.setText(book[5]);
}
//4. 出力
outputXml(doc, filename);
}
/**
* docをfilenameへ書き込む
* @param doc ドキュメントオブジェクト
* @param filename 出力ストリームの宛先を定義する
*/
public static void outputXml(Document doc, String filename) {
try {
//出力ストリームの宛先を定義する
FileWriter fw = new FileWriter(filename);
//出力フォーマットと文字エンコードを定義する
OutputFormat format
= OutputFormat.createPrettyPrint();
format.setEncoding(“GBK");
//定义用于输出xml文件的XMLWriter对象
XMLWriter xmlWriter
= new XMLWriter(fw, format);
xmlWriter.write(doc);//*****
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}