|
JDOM 은 XML 파일을 읽거나 XML 파일을 생성하는 작업을 위한 패키지이다.
http://www.jdom.org 에서 관련 파일을 다운로드 할 수 있다.
압축을 풀면 jdom.jar 파일을 찾을 수 있는데 이 파일을 JVM 클래스 패스에 추가한 후 관련 클래스들을 import 하여 사용한다.
1. XML 파일 읽기.
1-1. Document 클래스의 초기화
FileInputStream input = new FileInputStream( String XMLPath );
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build( input );
실제 읽고자하는 XML 파일 경로를 저장한 path 스트링 변수로 XML 파일을 추상화 시킨 Document 객체를 초기화 한다.
getRootElement() 로 최상위 root 요소를 얻고 나면 관련 된 메소드들을 통해 하위 요소들과 속성 값에 접근 할 수 있다.
1-2. 주요 읽기 메소드들.
Attribute getAttribute( String name ) : 현재 요소의 name 속성을 추상화한 Attribute 클래스을 얻는다.
List getAttributes() : 현재 요소에 정의 된 모든 Attribute 클래스를 List 형태로 얻는다.
String getAttributeValue( String name ) : 현재 요소의 name 속성에 저장 된 값을 읽어 String 형태로 반환한다.
Element getChild( String name ) : 현재 요소에서 name 과 같은 하위 요소를 찾아 반환한다.
List getChildren() : 현재 요소 아래에 있는 모든 하위 요소를 List 형태로 반환한다.
List getChildren( String name ) : 현재 요소 아래에 있는 모든 name 요소들을 List 형태로 반환한다.
String getText() : 현재 요소에 정의 된 Text 를 읽어 반환한다.
String getTextTrim() : 현재 요소에 정의 된 Text 를 trim 시켜 반환한다.
2. XML 파일 만들기
2-1. Root 요소로 XML 형태의 데이터를 만든다.
Element root = new Element( "ROOTNAME" );
최상위 요소를 먼저 생성 한 후 만들고자 하는 XML 형태대로 하위 요소, 속성, TEXT를 붙여나간다.
Element addContent( Content child ) : 현재 요소 아래에 새로운 하위 요소를 추가한다.
Element setAttribute( Attribute attribute ) : 현재 요소에 속성을 설정한다.
Element setAttributes( List attributes ) : 현재 요소에 List 로 구성 된 속성들을 설정한다.
Element setText( String text ) : 현재 요소에 TEXT를 설정한다.
2-2. 완성 된 XML 형태의 데이터를 Document 객체에 저장한다.
Document doc = new Document( root );
XMLOutputter output = new
XMLOutputter();
Format format =
Format.getPrettyFormat();
output.setFormat( format );
FileOutputStream out
= new FileOutputStream( String NEW_XMLPATH );
OutputStreamWriter writer = new OutputStreamWriter( out, "CHAR_SET" );
output.output( doc, writer );
Comments