본문 바로가기
JAVA

[ JAVA ] XML 만들기

by 정윤재 2012. 1. 18.

jdom.jar
다운로드
JDOM 이라는 API 를 통해 간단히 XML 을 만들 수 있다.

아래 코드를 보면 바로 이해가 될 것으로 보인다.

(String 으로 출력 하는 방식과  file  로 만드는 방식을 모두 정리 하였다.)

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 XmlGene {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Document doc = new Document(); 
  
  Element root = new Element("generator");
  
  Element pack = new Element("package");
  
  Element pack_name = new Element("package-name");
  
  root.addContent(pack);//root element 의 하위 element 를 만들기
  pack.addContent(pack_name); //package element 의 하위로 package-name 만들기
  
  pack_name.setText("com.ysci.theme.aaa");
  //package-name element 에 value 값을 text 로 넣어 주기
  
  doc.setRootElement(root);
  
  try {                                                            
      FileOutputStream out = new FileOutputStream("d:\\test.xml");
      //xml 파일을 떨구기 위한 경로와 파일 이름 지정해 주기
      XMLOutputter serializer = new XMLOutputter();                
                                                                   
      Format f = serializer.getFormat();                           
      f.setEncoding("UTF-8");
      //encoding 타입을 UTF-8 로 설정
      f.setIndent(" ");                                            
      f.setLineSeparator("\r\n");                                  
      f.setTextMode(Format.TextMode.TRIM);                         
      serializer.setFormat(f);                                     
                                                                   
      serializer.output(doc, out);                                 
      out.flush();                                                 
      out.close();   
     
      //String 으로 xml 출력
     // XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("UTF-8")) ;
     // System.out.println(outputter.outputString(doc));
  } catch (IOException e) {                                        
      System.err.println(e);                                       
  }                                                                 
 }
}

===============================================================================
결과는

<?xml version="1.0" encoding="UTF-8"?>
<generator>
  <package>
    <package-name>com.ysci.theme.aaa</package-name>
  </package>
</generator>

와 같이 나온다.

댓글