Bonjour,
J'effectue quelques tests de performances avec XPath afin de voir comment je peux stocker mes données en XML. Etant donné que le fichier que je veux pouvoir parser seront potentiellement assez gros (plusieurs millions d'informations) je doute que cela soit viable mais on ne sait jamais.
Donc, je fais pour l'instant un test ou j'utilise un fichier XML contenant environ 120 000 balises. J'arrive à ouvrir mon fichier et à créer un Document Jdom avec.
Par contre, au moment d'effectuer la recherche à proprement parler avec :
Bah là je me prend un Java Heap space dans la tronche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 org.jdom.Element racine = document.getRootElement(); XPath xpa = XPath.newInstance("//prenom[@id='30000']"); List results = xpa.selectNodes(racine) ;
Cela m'amene à deux questions.
Déjà pourquoi ? J'aurais pensé que le problème de charger aurait lieu au moment de créer le document JDOM, mais non. Lorsque l'on fait xpa.selectNode(racine), cela ne consiste pas à faire un parcours de l'arbre Jdom ? Quels objets sont créé pour que cela prenne autant de place ?
Ensuite, est ce qu'il existe un moyen de contourner ce problème ?
Partager