私が直面している問題は、オブジェクトの大きなリストを1つのXMLファイルにマーシャリングする方法です。そのため、大規模なリストを1つの手順でマーシャルすることはできません。私はこれらのオブジェクトをチャンクで返すメソッドを持っていますが、JAXBを使用してマーシャリングします。マーシャラーはこれらのオブジェクトがルート要素ではないという例外を返します。これは通常の場合、1つのステップで完全なドキュメントをマーシャリングする場合は問題ありませんが、JAXB_FRAGMENTプロパティをtrueに設定すると発生します。JAXB Marshallerを使用して大きなファイルをストリーミングする方法は?
これで必要なXML出力:
<rootElem>
<startDescription></startDescription>
<repeatingElem></repeatingElem>
<repeatingElem></repeatingElem>...
</rootElem>
だから私は彼がの終了タグを記述します前に、私は動的にマーシャラーにそれを養うためにrepeatingElementsの次のチャンクをロードし、リスナーのいくつかの種類を必要とすると仮定rootElement。しかし、それを行う方法?今まで私は小さなファイルをマーシャリングするためにJAXBを使用していましたが、JAXBのドキュメントではそのユースケースのヒントはあまりありません。
コンストラクタにmarshallerを設定する必要があります。 this.marshaller = m; –