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

Linq Discussion :

Affichage des attributs d'une balise XML


Sujet :

Linq

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 35
    Points
    35
    Par défaut Affichage des attributs d'une balise XML
    Bonjour,

    Je rencontre une petite difficulté pour afficher très exactement les contenus de diverses balises d'un fichier XML qui m'arrive en entrée.
    mon fichier xml suit un modèle fixe qui est celui-ci

    <topinfo>
    <Header1>
    ....
    </Header1>
    <Header2>
    ....
    </Header2>
    <streamnode>
    ....
    </streamnode>
    <streamnode>
    ....
    </streamnode>
    <streamnode>
    ....
    </streamnode>
    </topinfo>
    J'arrive à récupérer les attributs de mon premier node streamnode mais je n'arrive pas a trouver la bonne séquence pour le deuxième et le troisième.
    J'ai bien essayé avec des éléments lastnode et nextnode mais je n'ai jamais accès aux attributs alors.
    ci dessous mon appel pour le premier node streamnode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    XDocument oBaton = XDocument.Load("monfichier.xml");
     
                // Display first streamnode errors header
                var firstheader = from info in oBaton.Root.Nodes()
                                  select new Infos
                                  {
                                      Header1Name = Convert.ToString(oBaton.Root.Element("streamnode").Attribute("name").Value)
                                  };
     
                Header1.Content = firstheader.First().Header1Name;
    Pourriez-vous m'aider s'il vous plait histoire que je comprenne ce que je manque dans l'histoire
    et bonne journée

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 35
    Points
    35
    Par défaut
    En faisant quelques essais, je m'aperçois en plus que j'ai visiblement un souci pour récupérer les données du fichier xml dans un GridView, puisque je n'affiche que la première ligne mais 5 fois, alors qu'il y a bien 5 lignes dans mon fichier.

    J'ai repris un code qui semblait assez simple pour remplir un datagrid en C#.
    Quelqu'un voit-il mon erreur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var firsts = from info in oBaton.Root.Element("streamnode").Element("info").Nodes()
                             select new Infos
                             {
                                 Cpt = "",
                                 Name = Convert.ToString(oBaton.Root.Element("streamnode").Element("info").Element("field").Attribute("name").Value),
                                 Value = Convert.ToString(oBaton.Root.Element("streamnode").Element("info").Element("field").Attribute("value").Value)
                             };
     
                Grid1.ItemsSource = firsts;
    d'avance merci, je suis vraiment bloqué

    PS : j'ai bien conscience que j'appelle tjs le meme node mais je ne vois pas comment lui faire lire à chaque fois le suivant

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 35
    Points
    35
    Par défaut
    Autre chose à laquelle je viens de penser :
    je peux récupérer les données qu'il me manque via une simple boucle, mais je ne sais pas les transférer dans ma variable "firsts" qui remplit le gridview.

    Comme on dit, help again ^^ et merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                foreach (XElement x in oBaton.Root.Element("streamnode").Element("info").Elements("field"))
                {
                     string cname = x.Attribute("name").ToString();
                     string cvalue = x.Attribute("value").ToString();
                     int ccpt++;
                }
    (les champs cname cvalue et ccpt doivent etre injectées dans firsts en tant qu'éléments de liste si possible, comment faire ? )

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Et avec un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oBaton.Descendants("streamnode");

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 35
    Points
    35
    Par défaut
    j'essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oBaton.Root.Descendants("streamnode").Elements("field").Attributes("name")
    mais pas mieux pour le moment.

Discussions similaires

  1. Positionnement sur un attribut d'une balise XML
    Par sironimo dans le forum C#
    Réponses: 8
    Dernier message: 09/04/2010, 14h04
  2. Commande Updater - Mise à jour des attributs d'une balise div
    Par Myrrdin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/07/2009, 16h39
  3. affichage des attributs d'une classe
    Par dolsky dans le forum VB.NET
    Réponses: 9
    Dernier message: 02/06/2009, 15h13
  4. [XSLT] écrire des attribut dans une balise
    Par DrDam dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/04/2008, 13h12
  5. Modif des attributs d'une balise <param> en javascript
    Par Henri dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/08/2005, 22h20

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