내가 직면하는 문제는 하나의 XML 파일에 많은 객체 목록을 정렬하는 방법인데, 그렇게 큰 경우 전체 목록을 한 번에 마샬링 할 수 없습니다. 이러한 객체를 청크로 반환하는 메서드가 있지만 JAXB를 사용하여 이러한 객체를 마샬링합니다. marshaller는 이러한 객체가 루트 요소가 아니라는 예외를 반환합니다. 이것은 한 단계에서 전체 문서를 마샬링하려는 정상적인 경우에는 정상이지만 JAXB_FRAGMENT 속성을 true로 설정하면 발생합니다.JAXB Marshaller를 사용하여 큰 파일을 스트리밍하는 방법은 무엇입니까?
이것은 원하는 XML 출력 :
<rootElem>
<startDescription></startDescription>
<repeatingElem></repeatingElem>
<repeatingElem></repeatingElem>...
</rootElem>
그래서 나는 그가의 닫는 태그를 작성합니다 전에 동적으로 마샬에 공급하는 repeatingElements의 다음 청크를로드 청취자의 어떤 종류를 필요로 가정 rootElement. 그러나 그것을하는 방법? 지금까지는 JAXB 만 사용하여 작은 파일을 마샬링했으며 JAXB 설명서는 해당 사용 사례에 대한 많은 힌트를 제공하지 않습니다.
생성자에 marshaller를 설정해야한다. this.marshaller = m; –