萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> JDOM創建XML例子

JDOM創建XML例子

如果不為其設置,將會默認編碼為utf-8,並且不會換行等,生成的XML就會不美觀,在網上搜索了,原到有采用這樣設置編碼的(計算機愛好者,學習計算機基礎,電腦入門,請到本站http://www.woaidiannao.com,我站同時提供計算機基礎知識教程,計算機基礎知識試題供大家學習和使用),: Document doc = new Document(); //內存中已構造好的jdom Document對象
XMLOutputter output = new XMLOutputter(2, true, "GB2312"); //2是指縮進2個字符,true表示用換行,--增強可讀性
FileOutputStream out = new FileOutputStream(fileName);
output.output(doc, out); 這是JDOM1.0以前支持的設置編碼方法,以後的版本就沒有了,JDOM已經將這一塊功能給剝離出來,形成了Format對象,所有的設置都在該類當中處理,如下: XMLOutputter out;    
Format format = Format.getCompactFormat();    
format.setEncoding("gb2312"); //setEncoding就是設置編碼了    
format.setIndent("         "); //setIndent是設置分隔附的意思,一般都是用空格,就是當你新節點後,自動換行並縮進,有層次感,如果這樣寫setIndent(""),就只有換行功能,而不會縮進了,如果寫成setIndent(null),這樣就即不換行也不縮進,全部以一行顯示了,默認的就是這樣的效果,不好看。    
out = new XMLOutputter(format);    
out.output(xmlDoc, new FileOutputStream("xml文件路徑")); 完整的JDOM創建XML文件代碼如下: package com.star.jdbc;

import java.io.FileOutputStream;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Namespace;
import org.jdom.Text;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

import junit.framework.TestCase;

public class TestXML extends TestCase {
    
  public void testCreate(){
    try{
      Document doc = new Document();
        
      Namespace ns = Namespace.getNamespace("http://www.bromon.org");
      Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org");
        
      Element root = new Element("根元素", ns);
      root.addNamespaceDeclaration(ns2);
      doc.setRootElement(root);
        
      Element el1 = new Element("元素一");
      el1.setAttribute("屬性", "屬性一");
      Text text1 = new Text("元素值");
        
      Element em = new Element("元素二").addContent("第二個元素");
      el1.addContent(text1);
      el1.addContent(em);
        
      Element el2 = new Element("元素三").addContent("第三個元素");
        
      root.addContent(el1);
      root.addContent(el2);
        
      XMLOutputter outputter = null;
      Format format = Format.getCompactFormat();
      format.setEncoding("GB2312");
      format.setIndent("    ");
      outputter = new XMLOutputter(format);
        
      outputter.output(doc, new FileOutputStream("C:\\a.xml"));
    }catch(Exception e){
      e.printStackTrace();
    }
  }
}
本文出自 “gang4415” 博客,http://gang4415.blog.51cto.com/225775/248714 JDOM創建XML例子.
copyright © 萬盛學電腦網 all rights reserved