이마트몰과의 연동을 위해 선택한 Xml-to-JavaObject OpenSource 이다.
castor 는 xml-schema 를 Java Bean 규약맞게 Object 를 만들어 주면 자동으로 Data binding (Unmarshalling) 기능이 있다.
복잡한 xml 의 경우 mapping xml 을 지정함으로써 좀더 유연하게 대처할 수 있다.
또한 Java Object 를 XML 형태로 변환해주는 Marshalling 기능도 포함하고 있다.
이외에 XML Code Generator, ORM, JDO 등 많은 기능을 제공하고 있다.
다음은 Unmarshalling 과 Marshalling 의 간단한 예제이다.
우선 XML schema 에 맞게 java bean object 를 생성한다. 이 때 지켜야할 규칙이 있다.
root Element 를 제외 하고 Element name 이 java bean Object 의 필드명(set/getmethod도 동일)으로 해야 한다.
만약 element 가 반복될 경우에는 해당 Object 의 배열을 선언해 주면 된다.
castor_in.xml
Items.java
Item.java
실행
CastorRunTest.java
한가지 아쉬움 점은 줄바꿈이 되지 않는다는것이다. Marshaller 의 API 살펴봐도 셋팅해주는 method 는 없는듯 하다. 만약 잘 정돈 xml 을 원한다면 mapping.xml 을 이용하여 직접 mapping 해주는것도 나쁘지는 않다.
좀더 많은 정보를 원한다면 http://www.castor.org 로~~~
'WEB/JAVA > JAVA' 카테고리의 다른 글
| Burlap - JAVA HTTP remote Call (0) | 2008/09/16 |
|---|---|
| Factory Method Pattern - Design Pattern (0) | 2008/03/01 |
| 지연 변수의 유효범위를 최소화하라. (1) | 2008/02/20 |
| Castor - XML Data Binding ( java xml parsing ) (0) | 2008/02/12 |
