Version 1.0
문서 이력
2013-03-29 최초 작성 Ver 1.0
JDOM 은 Java 에서 XML 을 손쉽게 읽고 쓸 수 있게 해주는 라이브러리입니다.
http://www.jdom.org 에서 확인하시고 라이브러리 다운로드가 가능하며 2013-03-29 현재 JDOM 2.0.4 가 최신 버전이네요.
여기서는 JDOM 2.0.4 를 이용하여 XML 을 읽고 쓰는 방법입니다.
Users.xml 파일을 읽는 readUsersXML 함수와 Users2.xml 파일을 생성하는 createUsers2XML 함수로 샘플 코드를 작성하였습니다.
<샘플 코드>
/* * 작성자 : NineBear™ * 작성일 : 2013-03-29 * * JDOM 2.0.4 를 이용하여 XML 파일을 읽고 생성하는 샘플 코드입니다. */ package test;
import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter; import java.util.List; import java.io.*;
public class Test { /* * 메인 함수 */ public static void main(String[] args) { //Users.xml 파일은 프로젝트 최상위 폴더에 존재해야 함 String fileName = "Users.xml";
readUsersXML(fileName); System.out.println("-------------------------"); createUsers2XML(); }
/* * readUsersXML 함수 * Users.xml 파일을 읽어 데이터를 콘솔에 출력한다. */ private static void readUsersXML(String fileName) { try { SAXBuilder builder = new SAXBuilder();
//XML 파일을 읽는다. Document doc = builder.build(fileName);
//XML 데이터를 순차적으로 읽어서 출력 Element root = doc.getRootElement(); List<Element> elements = root.getChildren();
for (Element element : elements) { List<Element> subElements = element.getChildren();
if (!subElements.isEmpty()) { System.out.println(element.getName());
for (Element subElement : subElements) { System.out.println(subElement.getName() + " : " + subElement.getText()); } } else { System.out.println(element.getName() + " : " + element.getText()); } } } catch (Exception e) { System.out.println("Error Occured : " + e); } }
/* * Users2.xml 파일을 Users.xml 과 동일한 구조로 생성하여 * 콘솔에 데이터 출력하고 파일로 생성한다. */ private static void createUsers2XML() { try { Document doc = new Document();
//루트 엘리먼트 생성 Element root = new Element("Users2");
//루트에 UserID 엘리먼트 추가 Element userID = new Element("UserID"); userID.addContent("Nedved"); root.addContent(userID);
//루트에 Password 엘리먼트 추가 Element password = new Element("Password"); password.addContent("czech"); root.addContent(password);
//루트에 Username 엘리먼트 추가 Element username = new Element("Username"); username.addContent("Pavel Nedved"); root.addContent(username);
//루트에 Nicknames 와 그 하위 Nickname 엘리먼트들 추가 Element nickNames = new Element("Nicknames"); Element nickName = new Element("Nickname"); nickName.addContent("TwoHearts"); nickNames.addContent(nickName);
nickName = new Element("Nickname"); nickName.addContent("Wow"); nickNames.addContent(nickName); root.addContent(nickNames);
doc.setRootElement(root); XMLOutputter outputter = new XMLOutputter( Format.getPrettyFormat().setEncoding("UTF-8"));
//XML 문서를 문자열로 출력 System.out.println(outputter.outputString(doc));
//Users2.xml 파일 생성 FileOutputStream fos = new FileOutputStream("Users2.xml"); OutputStreamWriter os = new OutputStreamWriter(fos, "euc-kr"); outputter.output(doc, os); os.close(); } catch (Exception e) { System.out.println("Error Occured : " + e); } } }
|
'웹 > Java' 카테고리의 다른 글
오라클 out 파라미터가 있는 Stored Procedure 사용하기 (0) | 2013.04.30 |
---|---|
일반 Java 프로젝트에서 라이브러리(jar) 추가하기 (0) | 2013.04.30 |
라이브러리 다운로드 사이트 (0) | 2013.04.30 |
Java 클래스에서 WEB-INF 폴더 내 XML 파일 읽기 (0) | 2013.04.30 |
현재 날짜 시간을 원하는 날짜 형식으로 가져오기 (0) | 2013.03.27 |