Non sono sicuro che la seguente domanda sia possibile con jaxb, ma lo chiederò comunque.Jaxb può eseguire il marshalling di elementi figlio senza l'elemento radice?
In un determinato progetto, stiamo utilizzando jaxb con uno schema definito per creare la struttura successiva del file xml.
<aaa>
<bbb>
more inner children here
</bbb>
<bbb>
more inner children here
</bbb>
</aaa>
Stiamo anche utilizzando la generazione automatica classe di JAXB che crea le classi: AAA e BBB, dove aaa è stato generato come il @XmlRootElement.
Ora vogliamo utilizzare lo stesso schema in un nuovo progetto, che sarà anche compatibile con il progetto precedente. Quello che mi piacerebbe fare è usare le stesse classi generate da jaxb, senza eseguire alcuna modifica nello schema al fine di effettuare il marshalling di un singolo oggetto bbb in xml.
JAXBContext jc = JAXBContext.newInstance("generated");
Marshaller marshaller = jc.createMarshaller();
marshaller.marshal(bbb, writer);
Così si otterrebbe il risultato successivo:
<bbb>
<inner child1/>
<inner child2/>
...
</bbb>
non sono attualmente in grado di farlo come l'marshaller urla che io non ho un @XmlRootElement definito.
Stiamo in realtà cercando di evitare il caso di separare lo schema in 2 schemi, uno solo di bbb e l'altro in cui aaa importa bbb.
Grazie in anticipo!
sono stato in grado di trovare la soluzione in questo post: [smistamento frammentato JAXB] [1] [1]: http://stackoverflow.com/questions/9295385/jaxb-fragmented-marshalling?lq=1 –