IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Tableau 2D -> 3D


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut Tableau 2D -> 3D
    Bonjour à tous

    Voila ce que je souhaite faire :
    Je travaille depuis un fichier xml, et j'aimerai récupérer les informations de chaque noeud et chaque noeud enfant. J'ai donc pensé qu'un tableau ferait l'affaire. Cependant je n'arrive pas à le coder !

    [0,0] : le nom du noeud 1
    [0,1] : une information sur le noeud 1
    [0,2,0] : le nom du noeud fils du noeud 1
    [0,2,1] : une information sur le noeud fils du noeud 1
    [0,2,2,0] : le nom du noeud fils du noeud fils du noeud 1

    Tout d'abord est-ce possible ?

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    je sais pas, mais peut être passé par une List de Tableau?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<int[]> MaList;
    A testé

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 125
    Par défaut
    Le problème, c'est que ton fichier XML contient un arbre de noeuds XML; si tu veux l'envoyer dans un tableau, ce dernier va s'étendre sur le coté à chaque fois que tu vas avoir une "profondeur" de plus...

    Stocker un arbre dans un tableau, ça se fait, mais c'est encore plus simple à faire dans ... un arbre !

    A mon humble avis, un strucure "noeud" avec une liste d'elements pour les propriétés et une autre pour les noeuds enfants, sera plus simple à utiliser...

    My 2 cts...

    --
    ElTchoupi

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Par défaut
    salut,

    selon ce que j'ai compris c'est que tu veux naviguer dans tes noeuds et prendre leur valeur il y a le xpathnavigator qui te permet de naviguer entre les noeuds
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    XPathNavigator nav;
                nav = n.CreateNavigator();
                nav.MoveToNext();
                nav.MoveToNext();
                nav.MoveToNext();
                nav.MoveToFirstChild();
                nav.MoveToFirstChild();//tu peux parcourir comme tu veux dans ton fichier mais a condition que tu doit connaitre l'arborescent apres dans nav.value tu trouvera la valeur du noeud
    et tu utilise le xmlnode liste avec une requette comme dans l'exemple qui si tu as une balise mere de Personne et a l'interieur une parmis d'autre qui s'appelle Nom il va te lister toutes les nom des personnes qui figure dans ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    XmlNodeList list;
                list = doc.SelectNodes("/nom");
                foreach(XmlNode node in list)
                {
                    MessageBox .Show (node.InnerText );
                }

    j'espert que c'est ce que tu voulais et que je ne t'ai pas fais perdre ton temps pour rien .

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut
    Merci pour vos réponses

    Zehle j'ai essayé avec des List mais là encore je ne vois pas comment ajouter des dimensions à ma List dynamiquement.

    Citation Envoyé par ElTchoupi Voir le message
    Stocker un arbre dans un tableau, ça se fait, mais c'est encore plus simple à faire dans ... un arbre !

    A mon humble avis, un strucure "noeud" avec une liste d'elements pour les propriétés et une autre pour les noeuds enfants, sera plus simple à utiliser...
    La solution de l'arbre est très intéressante à condition que l'on puisse intéragir dessus avec des indexeurs. Il faut que je regarde ça !
    Le problème avec la structure c'est que les noeuds enfants sont nombreux (>50) et le nombre de chaque noeud (enfant comme parent) est aléatoire, c'est peut-être que je ne vois pas où tu veux en venir, mais là je trouve ça plutôt lourd à mettre en place.

    Par contre pourrais-tu me dire comment faire pour donner de plus en plus de profondeur à un tableau ?Car ça m'intéresse mais je n'y arrive pas

    J'avais essayé le classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau[0,10] = new string[x,y];
    Mais évidemment "impossible de convertir un string[,] en string".

    Désolé Barcelone je m'étais mal expliqué, ce n'était pas l'implémentation de l'analyse du fichier XML qui me posait problème mais juste celle de la création d'un tableau dont les dimensions augmentent ! Merci quand même

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List<string[,]> MyXML = new List<string[,]>(); //A Vérifier
    string[,] MyString = new string[,] {{"1" ,"2"}, {"3","4"} , {"5","6"} } ;
    MonXML.Add(MyString);
    //etc..

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 125
    Par défaut
    Ouaip, les List<> te seront d'un grand secours:
    un tableau est, de base, de taille fixe; alors que les List<> sont dynamiques et simples à utiliser...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut
    Merci

    Mais le problème (comme avec un tableau classique) c'est qu'il ne semble pas possible d'ajouter un tableau d'un nombre de dimensions différentes au tableau racine.

    Donc à part m'éviter le codage pour avoir le nombre d'élément (que j'ai déjà fait) cela ne règle pas mon problème :/

    Je pense que je vais partir sur un arbre.

    Merci pour vos réponses

    (Mais si jamais quelqu'un connait la solution pour pouvoir ajouter un tableau de x dimensions à un tableau déjà créé de y dimensions et de pouvoir l'utiliser comme un tableau unique, ça m'intéresse )

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo