Visualizzazione dei risultati da 1 a 5 su 5

Discussione: jaxb rootElement

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312

    jaxb rootElement

    Salve a tutti,
    come da titolo ho un problema con il root element.
    Devo generare un file xml di grandi dimensioni e faccio uso di jaxb: Ad ogni ciclo while inserisco un oggetto (a sua volta formato da un a lista di oggetti).
    Il problema che il root element lo dovrei mettere all'uscita del ciclo (una sola volta) e quindi una sola volta nel file che genero, come posso fare?
    Così facendo ad ogni iterazione inserisco 100 elementi e si chiude ovviamente il root element .
    Piccolo estrattto del codice

    codice:
    		int i = 1;
    		while (stop) {
    			List <Object> list = find();
    			if (list.size()==0) {
    				break;
    			}
    		
    			root.setLogs(list);
    
    
    			jaxbMarshaller.marshal(root, buffer);
    			i++;
    		
    		}

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da lio.b Visualizza il messaggio
    Il problema che il root element lo dovrei mettere all'uscita del ciclo (una sola volta) e quindi una sola volta nel file che genero, come posso fare?
    Così facendo ad ogni iterazione inserisco 100 elementi e si chiude ovviamente il root element .
    E perché fai il marshal dentro il ciclo allora? Fallo fuori ....

    E ovviamente dovresti fare in modo di accumulare tutti gli oggetti in una unica lista, in modo da fare setLogs solo una volta. Altrimenti ovvio che non ha senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Quote Originariamente inviata da andbin Visualizza il messaggio
    E perché fai il marshal dentro il ciclo allora? Fallo fuori ....

    E ovviamente dovresti fare in modo di accumulare tutti gli oggetti in una unica lista, in modo da fare setLogs solo una volta. Altrimenti ovvio che non ha senso.
    Esatto ma non posso accumulare tutto in una lista.

    Comunque ho risolto usando gli xmlstream.

    Grazie della risposta.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da lio.b Visualizza il messaggio
    Esatto ma non posso accumulare tutto in una lista.
    Giusto per curiosità mia: perché non puoi?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Giusto per curiosità mia: perché non puoi?
    Non posso perchè ho una quantità di dati mostruosa :-) Qualche centinaia di migliaia di elementi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.