메뉴 건너뛰기

조회 수 4755 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

XStream 은 XML 자료를 자바 객체로 생성하거나 반대로 자바 객체를 XML 데이터로 생성해주는 라이브러리를 제공하고 있다.
공식 사이트 튜토리얼을 보면서, 참 쓸만한것 같아, 포스팅을 하게 되었다.
XML 문서를 읽을때는 jdom 이 좋을 것 같고, 생성할 때는 XStream 사용하는 것이 효율적인 것 같다.
속성을 사용하게 되면 복잡한 구조가 되지만, 노드만으로도 XML 문서를 완성할 수 있기에 좋은 것 같다.

++ 공식사이트 : http://xstream.codehaus.org
++ 내려받기 : http://xstream.codehaus.org/download.html

내려받기 링크를 클릭하여 최신버전의 바이너리를 받으면 된다. 압축을 풀고, lib 폴더에 xstream-1.3.1.jar 파일을 복사하여 라이브러리에 반영하면되겠다. 아래의 내용은 XStream 에서 제공하는 튜토리얼을 참조하여 작성하였다.

XStream 패턴은 XML 노드네임과 일치하는 자바 Model 이 꼭 필요하다. 임의적으로 모델명을 치환할수도 있다.


1. XML 데이터를 생성하자


모델을 생성

/**
@class Person.java
@brief Person Model
*/
package com.syaku;

public class Person {

  private int num;
  private String name;
  private String sex;
  private String memo;

  public int getNum() { return num; }
  public void setNum(int num) { this.num = num; }
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
  public String getSex() { return sex; }
  public void setSex(String sex) { this.sex = sex; }
  public String getMemo() { return memo; }
  public void setMemo(String memo) { this.memo = memo; }

}

XML 데이터 생성

** 줄바꿈은 그대로 XML 에 반영되어 오류가 출력되기 때문에 줄바꿈은 하지 않도록하자. 상단 선언부를 참조하면 이해가 될 것이다. 만약 줄바꿈을 하게 될 경우 파이어폭스에서 다음과 같은 오류메세지를 보게된다.

XML 변환기 에러: XML 혹은 텍스트 선언이 외부 엔티티 시작에 올수 없음 위치: http://url 행 2, 글자 위치 1:
& lt;?xml version="1.0" encoding="euc-kr" ?>
^

-- 내용 추가 : contentType="text/xml; 할 경우 <?xml version="1.0" encoding="euc-kr" ?> 삽입하지 않아도 된다.


<%@ page contentType="text/xml; charset=euc-kr"%><%@ page import="com.thoughtworks.xstream.*" %><%@ page import="com.thoughtworks.xstream.io.xml.DomDriver" %><%@ page import="com.syaku.*" %><?xml version="1.0" encoding="euc-kr" ?>
<%
// 메소드 선언
XStream xstream = new XStream(new DomDriver());

// 모델 적용
xstream.alias("person", Person.class);

// 데이터 적용
Person person = new Person();
person.setNum(1);
person.setName("최석균");
person.setSex("남자");
person.setMemo("오!!!");

// XML 생성
String xml = xstream.toXML(person);
// XML 출력
out.print(xml);
%>







List of Articles
번호 제목 날짜 조회 수
120 JQuery 자동완성 플러그인 JSDT설치 file 2016.09.19 8726
119 전자정부 프레임워크란? file 2016.09.19 7850
118 JSP, Spring, GMail 메일발송 간단 예제 2016.09.12 6673
117 파일 읽고쓰는 암호화/복호화 2016.09.21 6477
116 웹브라우저(크롬) 설정하여 웹을 실행해 보자 file 2016.09.19 6360
115 회원가입 폼(form)으로 보는 Validator 구현하는 방법 file 2016.08.29 6326
114 전자정부표준프레임워크 - 설치 file 2016.09.02 5940
113 공통컴포넌트 생성하기 - 게시판 file 2016.09.19 5455
112 eclipse 콘솔(로그)에 디버그(Debug) 모드에서 실행된 쿼리문을 보여주자. - 전자정부프레임워크 오라클 file 2016.08.29 5156
111 접근 제한자 private/ protected/ public / default file 2016.10.06 5037
110 날짜 시간 포맷 제어 자바 클래스 : JAVA DateUtils Date time file 2016.12.09 4998
109 회원가입 양식에서 (필수/옵션)필드 추가/제거하기 file 2016.08.29 4814
108 전자정부프레임워크 v2.5, v2.6 오라클 세팅하기 file 2016.09.12 4813
» 자바 XML 제어 라이브러리 XStream : JAVA 2016.12.09 4755
106 MySQL에 All-in-one 설치시 webmaster로 로그인 안되는 문제 해결을 위한 2가지 수정사항 file 2016.08.29 4737
105 다양한 문자 조합을 이용한 카운팅 구하기 2016.12.09 4736
104 System.out.println(); 이클립스에서 자동화기능 사용 file 2016.09.19 4674
103 예외 만들기 2016.09.13 4652
102 스프링(Spring)의 Validator 기능을 사용하다가 '정의되지 않음 또는 null 참조인 'type' 속성을 가져올 수 없습니다.'라는 오류를 만났을 때 해결방법 file 2016.08.29 4532
101 간단한 개인홈페이지 만들어보기 file 2016.08.29 4523
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved