Optimiser une arborescence
Bonjour à tous,
Je suis en train de développer une arborescence. Elle est créée à partir d'un fichier xml de la façon suivante:
1 - Je parse mon fichier xml (DOM)
2 - je récupère chaque "elementMenu" du xml :
Voici la forme de mon XML:
<arbo>
<elementMenu>
<id>1000</id>
<idParent>0</idParent>
<libelle>Analyse des données</libelle>
<estimateur>none</estimateur>
<methode>none</methode>
<horizon>none</horizon>
<espace>A|Analyse</espace>
<stp>none</stp>
<annee>none</annee>
</elementMenu>
...... 450 elementMenu comme celui là.
</arbo>
Donc, pour chaque elementMenu, je récupère toutes les variables, que je passe à une fonction JavaScipt, elle me rajoute ainsi une nouvelle node à mon arbo.
Le soucis, c'est que c'est super lent !!! Bon, c'est vrai que mon PC n'est pas une lumière, mais il me faut 10 / 15 secondes pour afficher tout cela (450 nodes quand même).
Pour accélerer le traitement, j'ai pensé faire ceci:
Pour afficher l'arbo, j'ai uniquement besoin de <id><idParent><libelle>
(id de la node, id de la node parent, pour faire des sous menus, et libellé, pour le nom de chaque node de l'arbo).
Je veux donc créer mon arborescence en ne parsant que ce qui m'interesse dans le fichier.
Le reste des elements, quand à eux, ne son nécessaire que lorsque l'on clique sur une node de l'arbo.
Voilà donc la solution que je cherche à réaliser:
Parsage "light"
<arbo>
<elementMenu>
<id>1000</id>
<idParent>0</idParent>
<libelle>Analyse des données</libelle>
<je m'en occupe plus tard>
<estimateur>none</estimateur>
<methode>none</methode>
<horizon>none</horizon>
<espace>A|Analyse</espace>
<stp>none</stp>
<annee>none</annee>
</je m'en occupe plus tard>
</elementMenu>
...... 450 elementMenu comme celui là.
</arbo>
Et ensuite, quand je clique sur un lien, je lit dans mon XML uniquement l'element que l'utilisateur a cliqué.
Je fais: Lire le <je m'en occupe plus tard></je m'en occupe plus tard> de l'elementMenu id=36 par exemple.
Pensez vous que cette méthode est viable, Avez vous une solution miracle à laquelle je n'ai pas pensé? :D
Sinon, niveau technique, Comment puis-je parser DOM en sautant des elements?? Ensuite, comment puis-je récupérer dans mon xml les infos sur 1 seul elementMenu, sans se retaper tout le xml??