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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 ;) )
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 ;) )
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 ;) )
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
Bonsoir,
"damien guerin" <damien.guerin2@wanadoo.fr> a écrit dans le message de
news: 1124719989.730661.120020@z14g2000cwz.googlegroups.com...
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
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
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 ;)
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.
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.