주제 : jdom 라이브러리를 이용하여 기본적인 xml 을 생성하는 방법
내용 : jdom 은 xml 파싱 및 생성을 손쉽게 해주는 유용한 라이브러리이다.
본 내용은 xml을 쉽게 만들고 파일로 생성하는 방법을 만들어 보고자 한다.
Java 예제
package jdomxml;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import org.jdom.Attribute;
import org.jdom.Comment;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class XmlCreate {
public static void main(String[] args) {
// root 엘리먼트 생성
Element rootEle = new Element("root");
// root 엘리먼트의 version 어트리뷰트 추가
rootEle.setAttribute(new Attribute("version", "0.0.1"));
// root 엘리먼트의 컨텐츠 추가
rootEle.addContent(new Comment("주석을 나타냅니다."));
Element firstEle = new Element("first-child");
firstEle.addContent("첫번째 입력 합니다.");
rootEle.addContent(firstEle);
rootEle.addContent(new Element("second-child").addContent("두번째 컨텐츠 입력"));
Element thirdEle = new Element("third-child");
thirdEle.addContent("세번째 컨텐츠");
thirdEle.setAttribute("attrName", "attrValue");
// CDATA 형식을 붙인다.
thirdEle.addContent(new CDATA("그대로 출력되는 문자열"));
rootEle.addContent(thirdEle);
// 엘리먼트 생성 후 삭제하기
rootEle.addContent(new Element("fourth-child").addContent("삭제할 4번째 컨텐츠 입니다."));
rootEle.removeChild("fourth-child");
// xml을 출력하기 위한 방법
// Format.getPrettyFormat는 예쁘게 xml 줄 맞춰주는것이고
// setEncoding는 인코딩 형식 정의함
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("utf-8"));
// 출력을 하기 위해서는 도큐먼트가 필요하므로 도큐먼트를 생성하여
// root 엘리먼트를 붙인다.
Document doc = new Document(rootEle);
try {
FileOutputStream fos = new FileOutputStream("file.xml");
OutputStreamWriter os = new OutputStreamWriter(fos, "utf-8");
// 출력하기 위해서 출력스트림이나 writer를 지원하므로
// 파일이나 콘솔에 출력하기 위해서는 적절한 스트림이나 writer를 사용한다.
// 파일에 쓰기
// outputter.output(doc, os);
// 콘솔에 쓰기
outputter.output(doc, System.out);
// String 으로 출력
outputter.outputString(doc);
// 아래 방법은 xml 헤더가 추가되지 않는다.
// outputter.output(rootEle, System.out);
os.close();
}
catch(Exception e) {
System.out.println(e);
}
}
}
'Java/JSP' 카테고리의 다른 글
jsp 파라메터 parameter 입력 한글 깨짐 해결 (0) | 2013.03.05 |
---|---|
자바 객체 Object 를 JSON 으로 변환 (0) | 2013.02.15 |
XML to JSON 변환 방법 (0) | 2013.02.15 |
SimpleDateFormat 이용하여 Date Calendar 날짜 가지고 놀기 (0) | 2013.02.14 |
[JAVA] ArrayList 데이터 중복 제거 (0) | 2013.01.02 |