Parcours d'un fichier de plus en plus long
Bonjour,
Je dois parcourir et modifier un fichier xml assez gros (~10 Mo)
Ce fichier ressemble de loin à ça:
Code:
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> |
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:
1 2
|
NodeList list = document.getElementByTagName("DOCUMENT"); |
et j'itère ensuite dessus de la façon suivante:
Code:
1 2 3 4 5
|
for (int i = 0; i < list.getLength(); i++) {
Node document = list.get(i);
// Process...
} |
Le problème, c'est qu'au fur et a mesure, le passage d'un node à un autre est de plus en plus lent.
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.