jdom을 이요한 XML 쓰기와 읽기
필요라이브러리 dom4j-1.6.1.jar
XML 쓰기
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public static void main(String[] args) {
Element element = null;
Document document = null;
try{
SAXBuilder builder = new SAXBuilder();
element = new Element("root"); //rootElement 생성
//하위 엘레먼트 생성후 속성 추가 및 text 추가
Element sub = new Element("sub").setAttribute("test1", "aaaa").setText("안녕하세요");
element.addContent(sub); //root Element에 sub Element 추가
document = new Document(element);
//파일 생성
XMLOutputter out = new XMLOutputter();
out.output(document, new FileOutputStream(new File("d://test.xml")));
}catch(Exception e){
//TODO Exception 처리
}
}
}
XML 읽기
package url;
import java.io.FileOutputStream;
import java.net.URL;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class Ex2 {
public static void main(String[] args) throws Exception {
URL url = new URL("http://openapi.naver.com/search?key=7d78ca29b1966e2cafee0327b181429d&target=movie&query=java&display=50&start=1&sort=sim");
//xml이기 때문에 그냥 String을 이용하는 것이 아니라 JDOM으로 파싱하여 편하게 사용하고 싶습니다 (DOM구조)
Document doc = new SAXBuilder().build(url);
//root엘리먼트인 rss요소를 뽑아오기
Element rss = doc.getRootElement();
//rss의 자식인 channel요소를 얻고
Element channel = rss.getChild("channel");
//channel의 자식인 item요소들을 얻습니다.
List<Element> itemList = channel.getChildren("item");
//item 이라는게 책이다
//책이름과 저자, 가격을 출력해 봅시다
for(Element book : itemList){
System.out.print("영화제목 : "+ book.getChildText("title") + " \t");
//book.getChild("title").getText();
System.out.print("감독 : " + book.getChildText("director") + "\t");
System.out.println("배우 : " + book.getChildText("actor"));
}
//실제파일로 저장해 봅시다.
XMLOutputter xout = new XMLOutputter();
//파일로 저장
xout.output(doc, new FileOutputStream("c:/movie.xml"));
//콘솔창 출력
xout.output(doc, System.out);
}
'개발 > Java' 카테고리의 다른 글
java 화면캡쳐 샘플 (0) | 2013.12.04 |
---|---|
Java Process Kill Script (0) | 2013.09.04 |
eclipse SWT/JFace 라이브러리 추가 (0) | 2013.06.12 |
java openGL (0) | 2012.08.23 |
자바 정규표현식 (0) | 2012.05.17 |