헤르메스 LIFE

[Source] XML 만들기 본문

Core Java

[Source] XML 만들기

헤르메스의날개 2020. 12. 20. 05:12
728x90

출처 : http://shonm.tistory.com/377

 

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>

728x90

'Core Java' 카테고리의 다른 글

[Core Java] 경과 시간 구하기  (0) 2020.12.29
[Source] 문자열 관련 Sample  (0) 2020.12.22
[Source] XML 파싱  (0) 2020.12.20
[Source] Create Xml File Demo  (0) 2020.12.20
[Source] DOM4j Modify XMLDemo  (0) 2020.12.20