2012-10-31 4 views
1

으로 설정하면 런타임에 @XmlRootElement를 설정할 수 있습니까? xml로 변환해야하는 클래스가 있지만이 클래스는 둘 이상의 XML로 변환되어야하며 루트 요소 이름 만 다릅니다.JAXB @XmlRootElement를

답변

4

클래스가 둘 이상의 요소 이름에서 사용할 수있는 XML 스키마 유형을 나타내는 경우 @XmlRootElement 주석을 달지 않아야합니다. 대신 @XmlType 주석을 달고 MyType 인스턴스를 XML로 마샬링하려면 요소 이름을 지정하는 JAXBElement<MyType>으로 묶어야합니다.

+0

+1 - FYI - JAXB (JSR-222)는 클래스에 대한 주석을 필요로하지 않습니다. 설정 (예 : 타입 이름, 팩토리 클래스 등)을 지정하려면'@ XmlType' 주석 만 사용하면됩니다 : http://blog.bdoughan.com/2012/07/jaxb-no-annotations- required.html –

+0

@BlaiseDoughan 사실, 모든 것이 완전히 주석 처리 된 스키마를 먼저 사용하는 데 너무 익숙합니다. –

+0

감사합니다. 그게 정말로 도움이되었습니다. –