Bonjour,
J'utilise actellement DOM pour faire de la comparaison de méta données en 2 applications.
Je générè un fichier XML de 5 MO que l'on appellera source.xml qui provient de l'application 1.
Je générè un fichier XML de 5 MO que l'on appellera dest.xml qui provient de l'application 2
Ensuite, sous une application web (serveur tomcat), je charge grâce à DOM un arbre (Arbre 1)en mémoire qui réprénsete source.xml, puis un second arbre (Arbre 2) en mémoire qui réprésente dest.xml.
Ensuite je parcours mon arbre 1. Pour chaque élément de l'arbre 1 je regarde s'il existe dans l'arbre 2. etc... et je génére un 3 ième arbre que je sauvegarde en fin de traitement.
Tout ceci se passait plutôt pas trop mal avec 256 Mo de RAM. Seulement voilà, à présent mes fichiers ont plus que doublé (ils font 12 Mo chacun) et je me retrouve avec des out of memory dans tous les sens.
Vous allez me dire : utilise SAX : Oui mais je ne vais pas parser le dest.xml pour chaque objet de source.xml.
Mon idée serai peut-être de faire un chargement partiel ou quelquechose d'autre mais tout en restant avec du XML...
Merci d'avance pour vos réponses
Partager