OVH Cloud OVH Cloud

[xml+dom] besoin d'un conseil

3 réponses
Avatar
Hervé
Bonjour,

J'ai un petit problème de java (bien sur ;o)) qui me fait tourner en rond...
Je débute et vous voudrez bien m'excuser si c'est basique pour vous ou de
m'aiguiller vers un bon tuto. (j'ai épuisé google avec mes recherches ;o)

Voila le probleme :

Avec le dom de sun, je veux batir un fichier xml. Mais la ou ca ce corse,
c'est que c'est a partir d'un vecteur :
dans mon vecteur, j'ai ceci :
- racine, enf1, enf2, enf3, etc
- enf2, sous-enf1, sous-enf2, etc
- enf3, sous-enf4, etc

En fait, j'ai la racine de l'arbre xml dans mon 1er element du vecteur, et
dans les entrées suivantes, les sous-niveaux.

Et je seche, je ne sais pas comment le parcourir (mon vecteur) pour créer
tous les enfants au bon endroit ?

Une idée ?

Merci

3 réponses

Avatar
damien guerin
Qu'est ce que tu entends par sous niveau dans ton vecteur???
As tu un vecteur avec :
1er elt : "racine, enf1, enf2, enf3, etc"
2eme elt : "enf2, sous-enf1, sous-enf2, etc"
...
De quel type est un élément, un tableau??
je comprends pas comment c'est organisé.

Mais sinon tu peux faire :
Hashtable tree = new Hashtable();
// Parcours des elts
for(int i = 0; i < vecteur.size(); i++) {
Array tab=(Array)vecteur.elementAt(i);
// Parcours du tableau
for(int j=0;j<tab.length;j++){
if (j==0) {
tree.add(Array.get(tab,0), new Vector());
} else {
Array fils = tree.get(Array.get(tab,0));
fils.addElement(Array.get(tab,j));
}
}
}

Tu te retrouves avec un hash avec en clé les parents, et en valeur la
liste des fils.
Mais après que veux tu faire? Qu'entends tu avec "pour créer tous les
enfants au bon endroit"??

Je fais ce que je peux pour t'aider mais je comprends pas tout (je dois
être lent du cerveau ;) )
Avatar
Hervé
Bonsoir,

"damien guerin" a écrit dans le message de
news:


Merci et désolé de la réponse en bàl

Qu'est ce que tu entends par sous niveau dans ton vecteur???


Juste les (futurs) enfants d'un niveau père

As tu un vecteur avec :
1er elt : "racine, enf1, enf2, enf3, etc"
2eme elt : "enf2, sous-enf1, sous-enf2, etc"


Oui,

De quel type est un élément, un tableau??


C'est juste un assemblage de valeurs strings, avec comme séparateur au final
une virgule

<cut>
Tu te retrouves avec un hash avec en clé les parents, et en valeur la
liste des fils.


En fait c'est ca qui est stocké dans mon vecteur...

Mais après que veux tu faire? Qu'entends tu avec "pour créer tous les
enfants au bon endroit"??


Raccorder sous-enfant2 au noeud enf2 qui est lui meme un enfant de racine...
pas tres clair peut etre

Je fais ce que je peux pour t'aider mais je comprends pas tout (je dois
être lent du cerveau ;) )


Deja merci, c'est peut etre moi qui m'exprime mal ;o)
Merci

Avatar
damien guerin
A priori des éléments contenant une string contenant des éléments
séparés par uen virgule n'est pas très exploitable... Tu devrais en
faire un hash comme je t'ai montré dans mon précédent post, ça sera
nettement plus simple.
Puis après utiliser la fonction récursive que je t'ai envoyé dans ta
boite perso.

Voilii ;)