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 :

Retourner une variable contenant des nœuds XML


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 51
    Points
    51
    Par défaut Retourner une variable contenant des nœuds XML
    Bonjour,

    Dans mon programme, j'instancie des objets du type XDocument et XElement pour parcourir un fichier XML.
    Je récupère ensuite les nœuds souhaités et les stocke dans une variable de type object.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    object myObject = "";
    XDocument myXDocument = XDocument.Load("myFile.xml");
    XElement myXElement = XMLConfigFileReader.Root;
    var parents = from nodes in myXElement.Elements() select nodes;
     
    foreach (var items in parents)
    {
          switch (items.Name.ToString())
          {
                 case "myNode":
                 foreach (var nodes in items.Elements())
                        {
                              myObject = myObject + nodes.ToString();
                        }
                 break;
           }
    }
     
    return myObject;
    Par la suite, j'essaye de récupérer les nœuds de cette variable de type object avec un foreach.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (var item in myObject)
    Or, je me suis vite aperçu que cela était impossible.

    Je voudrais donc savoir si quelqu'un sait quel type de variable utiliser à la place de ma variable de type object pour retourner des nœuds XML ?

    J'ai pensé à la solution qui consisterait à créer un fichier XML et à y écrire les nœuds, pour ensuite lire le contenu de ce fichier, mais c'est une solution que je préférerais éviter.

    Merci d'avance !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Points : 174
    Points
    174
    Par défaut
    dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var nodes in items.Elements()
    var tiens lieu de
    XElement
    et donc avec nodes.Value tu peux accéder à leur contenu (tu peux éventuellement les stocké ensuite dans une liste de XElement)

    j'espère que ca t'aide

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 51
    Points
    51
    Par défaut
    Merci pour ta réponse davjan.
    J'ai finalement résolu mon problème en retournant un string, et en utilisant par la suite XmlDocument et XmlNode.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lire dans une variable contenant du xml.
    Par Hiken dans le forum C#
    Réponses: 2
    Dernier message: 11/05/2010, 13h48
  2. parcourir une variable contenant du Xml
    Par speed034 dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2008, 15h08
  3. Réponses: 1
    Dernier message: 08/09/2007, 20h06
  4. Recuperer une variable contenant des espaces
    Par phpaide dans le forum Langage
    Réponses: 9
    Dernier message: 30/05/2006, 17h07
  5. Réponses: 2
    Dernier message: 25/07/2005, 15h27

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