2016-06-07 2 views
0

저는 JAXB를 처음 사용합니다. 현재 내가 무엇을 달성 한JAXB unmarshalled 객체 재사용

은 다음과 같습니다

1)가에 부합되는 샘플 XML에서 비 정렬 화/정렬 화 외부 자에 의해 미리 정의 .XSD 파일을 이클립스에서 클래스()

2) 시도를 생성 비 정렬 화 된 후

,하자 내가 STU "에서 확장하는 다른 클래스를 초기화하기 위해 개체를 전달하고자, 비 정렬 개체가"학생 "말한다 : 내가 발견하고 싶은 무엇 .XSD

는 점이다 옴폭 들어간 곳". 예 (학생)에 대한

, 예를 들어

@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(name = "", propOrder = { 
    "name", 
    "age" 
}) 
@XmlRootElement(name = "STUDENT") 
public class STUDENT { 
//.... sample student class 
} 

(STUDENTEXTENDED),

public class STUDENTEXTENDED extends STUDENT { 
//.... sample extended class (I fake this out. May not make sense) 
private STUDENT student; 
private String homeAddress: 
} 
확장 클래스는 "STUDENTEXTENDED"라고하면

내가 마샬이 STUDENTEXTENDED에 싶습니다 xml 파일, 어떻게 거기에 @ XmlRootElement 학생 클래스에 내 루트 요소를 선언해야합니까? 이 작업을 수행 할 수 있습니까?

감사합니다.

답변

0

JAXB에서 루트 요소를 여러 개 가질 수 있습니다. 여기

은 예입니다 :

Response.java

@XmlRootElement(name = "response") 
public class Response { 
... 
} 

ErrorResponse.java

@XmlRootElement(name = "error") 
public class ErrorResponse extends Response { 
... 
}