Voilà je cherche à générer un fichier xml en interrogeant une base de données.
J'utilise jdom:
Je parcours ma base et j'ajoute les éléments:
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);
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 Element elIdReprise = new Element("id"); elIdReprise.setText(MonObjet.getId()); elReclamation.addContent(elIdReprise);
---------------------------------------------------------------
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 ?
Partager