Voilà je cherche à générer un fichier xml en interrogeant une base de données.
J'utilise jdom:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
//Le  Document JDOM basé sur la racine
static org.jdom.Document document = new Document(racine);
Je parcours ma base et j'ajoute les éléments:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Element elIdReprise = new Element("id");
elIdReprise.setText(MonObjet.getId());
elReclamation.addContent(elIdReprise);
Une fois tous les éléments parcourus en boucle, j'enregistre le xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
XMLOutputter aXMLOutputter = new XMLOutputter();
	    aXMLOutputter.setNewlines(true);
		aXMLOutputter.setEncoding("ISO-8859-1");
		//creation du fichier
		File aFile = new File (aFileName); 
	    if (aFile.exists())
	    	aFile.delete();
 
	    FileWriter aFileWriter = new FileWriter(aFile);
	    aXMLOutputter.output(document, aFileWriter);
	    aFileWriter.close();
---------------------------------------------------------------
Tout fonctionne bien, sauf qu'avec beaucoup de données > 100 000 objets
, le traitement est vraiment trop long et il me provoque un out of memory lors de l'écriture du fichier qui devrai avoir une taille entre 100Mo - 200Mo

Voilà j'aimerais connaitre votre avis la dessus si vous avez une solution:
utiliser une autre api ?
J'ai regardé SAX mais j'ai du mal à trouver des tutoriels sur l'écriture de fichier xml.
Il y a aussi JAXP ou B mais je ne sais pas si c'est adapté à mon problème ?