dom4j生成xml

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","zh" },
   {"1004","武侠","小李飞刀","古龙","45","1965","zh" }
  };

  /**
   * @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. 构造根元素
    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元素增加四个子元素
      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 要输出的xml文件名
   */
  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();
    }
    
  }

}

你可能感兴趣的:(java,spring,xml,Web,jni)