현재 XML 메시지를 마샬링/언 마샬링하고 있습니다. 여기 내 두 개의 XML 요소는 다음과 같습니다JAXB 기본 네임 스페이스 사용
@XmlRootElement(namespace = "http://namespaceA")
public class RootElementA {
@XmlElement
private ElementXX elementXX;
}
@XmlRootElement(namespace = "http://namespaceB")
public class RootElementB {
@XmlElement
private ElementXX elementXX;
}
나는 다음과 같은 오류 가지고 RootElementB 비 정렬 :이 발생한 것을 제외하고 나는 ElementXX 선언에 네임 스페이스를 추가하는 경우
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://namespaceB", local:"ElementXX"). Expected elements are <{}ElementXX>
, 내가 같은 오류가 ElementXX의 속성
문제는이 두 네임 스페이스에 지정되고 난 그냥 네임 스페이스를 변경하는 내 수업을 복제하지 않기 때문에 내가
당신을합니까 ... ElementXX의 특성에 네임 스페이스를 설정할 수 있다는 것입니다 아이디어가 있으십니까? 감사합니다. . 내가 XmlRootElementA 클래스의 ElementXX에 네임 스페이스를 설정하지 않으면 내가 위의 오류가<RootElementA xmlns="http://namespaceA">
<ElementXX>
<name>blabla</name>
<desc>blabla</desc>
</ElementXX>
</RootElementA>
:
편집 여기
는 XML의 샘플입니다. 설정 한 경우 name 속성과 동일한 오류가 발생합니다.
나는 XML로 내 질문에 업데이트되었습니다. XML은 외부 API에서오고 있으므로 언 마샬링하기 전에 편집 할 수 없습니다 (링크에서 답을 찾지 못했습니다). – c4k