Bonjour,
Je dois parcourir et modifier un fichier xml assez gros (~10 Mo)
Ce fichier ressemble de loin à ça:
Je charge donc mon fichier dans un Objet Document et récupère la liste des nodes <DOCUMENT/> dans une NodeList via la méthode suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <root> <DOCUMENT> [...] </DOCUMENT> <DOCUMENT> [...] </DOCUMENT> <DOCUMENT> [...] </DOCUMENT> <DOCUMENT> [...] </DOCUMENT> [...] </root>
et j'itère ensuite dessus de la façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 NodeList list = document.getElementByTagName("DOCUMENT");
Le problème, c'est qu'au fur et a mesure, le passage d'un node à un autre est de plus en plus lent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (int i = 0; i < list.getLength(); i++) { Node document = list.get(i); // Process... }
J'ai bien sur vérifié que ce n'était pas mon process qui était de plus en plus lent, mais bien le passage d'un node à un autre.
Est-ce un comportement normal? Si oui, y-a-t'il moyen de le contourner?
Merci pour votre aide éventuelle.
Partager