메뉴 건너뛰기

조회 수 2712 추천 수 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
번호 제목 날짜 조회 수
87 숫자형식 포멧 방법 2018.02.09 303
86 jquery 스크롤(scroll) 따라다니는 배너 레이어 / 위로 버튼 / 화면 상단으로 이동 / scroll layer 이벤트 file 2017.07.04 1604
85 BigDecimal타입의 사칙연산 2016.12.22 1806
84 다양한 문자 조합을 이용한 카운팅 구하기 2016.12.09 2687
83 자바 JXL 엑셀파일을 읽어 배열리턴 : JAVA EXCEL ArrayList 2016.12.09 2315
82 날짜 시간 포맷 제어 자바 클래스 : JAVA DateUtils Date time file 2016.12.09 2582
81 자바 다양한 형변환. 그리고 아스키 코드 String char int : JAVA 2016.12.09 2166
» 자바 XML 제어 라이브러리 XStream : JAVA 2016.12.09 2712
79 원하는 패턴의 날짜 구하기 : JAVA 2016.12.09 2050
78 iBATIS 동적으로 맵핑하기 2016.12.09 2114
77 GET 파라메타 쿼리문자열 컨트롤 : getQueryString 2016.12.09 2206
76 접근 제한자 private/ protected/ public / default file 2016.10.06 2171
75 예외처리(Exception handling)방법 file 2016.09.21 2591
74 My-SQL 을 이용한 JDBC file 2016.09.21 2347
73 static멤버와 관련된 예제 2016.09.21 2311
72 파일 읽고쓰는 암호화/복호화 2016.09.21 3374
71 JQuery 자동완성 플러그인 JSDT설치 file 2016.09.19 5186
70 System.out.println(); 이클립스에서 자동화기능 사용 file 2016.09.19 2911
69 웹브라우저(크롬) 설정하여 웹을 실행해 보자 file 2016.09.19 3158
68 한글이 깨졌다! 인코딩(encoding)을 설정하자 file 2016.09.19 2263
Board Pagination Prev 1 2 3 4 5 Next
/ 5

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved