Programming/XML/XSD2015.11.01 01:56

예~~전 프로젝트에서도 xml파일을 사용해서 java class파일을 생성해야 하는 일이 있었는데. 

다시 하려니 다 까먹어서 정리를 할게요


여러가지 방법이 있겟지만, 저의 경우는 xml파일 생성 -> xsd파일 생성후 편집 -> Java Class 형태로 해요.

물론 반대의 경우도 가능 하겠죠.


JAXB를 사용하면 XSD를 JAVA Class파일형태로 쉽게 변경 할수 있어요


먼저 사용할 .xml파일과 .xsd 파일을 준비 하세요. 없으면 밑에 파일 다운받으세요.


bookstoreSample.xml


bookstoreSample.xsd


이클립스 JAXB 플러그인을 사용하여 생성 할거에요 

저는 이클립스를 STS를 사용하여 이미 JAXB 플러그인이 설치되어 있어요 

이클립스 for Java EE를 설치하면 기본적으로 JAXB 플러그인이 설치 되어 있다고 하네요

능력껏 준비 해요~



1. 이클립스 File -> New -> Project -> JAXB Project 선택




2. 적절한 project name을 입력한다음 Target runtime을 선택해주세요. 외국인 영상에서는 JRE가 아닌 JDK로 설정해야 한다고 되어있는데.. 저는 선택이 안되서 JRE로 선택 해봐요..  버전은 최근버전이 좋겠죠.




3. 생성된 별거 없는 프로젝트 폴더 구조에요




4. 다운받은 .xml과 .xsd를 끌어당겨 생성된 프로젝트에 넣어주세요




5. 프로젝트 폴더 오른쪽버튼 -> New -> Other 클릭




6. JAXB Class form Schema 선택후 Next



7. 방금 생성한 프로젝트 선택후 Next


8. XSD파일을 선택하라고 나와요. 4번에서 넣은 .xsd 파일이 보일거에요 선택하고 next



9. Package를 입력하라고 나와요. 프로젝트에 맞게 package를 입력하세요. 우선 샘플용이니 저는 com.jaxbtest 라고 입력하고 Finish



10. 생성된 클래스 파일이에요 




외국인 친구 영상을 보면 클래스별로 분리해서 생성 해주던데.. 

저는 이상하게 클래스 1개에 이너 클래스로 생성이 되네요..

JAXB 버전이 달라서 그런지, JDK로 선택 안해줘서 그런지..

옵션을 이리저리 바꿔봐도 클래스가 1개 밖에 생성이 안되네요 


어쨋든 맘에 드는 모양은 아니지만, 하나하나 타이핑 해서 만들어줄뻔 했던 클래스를 뽑아줘서 다행이에요.

자동으로 만들어 주는것까지만 해도 감사하죠.


이놈에 자바 특성상 저랑 다르게 설정이 되거나 다르게 나와도 어쩔수 없어요. 






Posted by 시긔양

댓글을 달아 주세요