LINQ to XML - affichage d'attribut

Fermé
Blashyrk Messages postés 19 Date d'inscription lundi 4 octobre 2010 Statut Membre Dernière intervention 26 octobre 2011 - 25 oct. 2011 à 21:37
 Utilisateur anonyme - 27 oct. 2011 à 01:35
Bonjour,

J'ai un petit problème avec l'affichage d'attribut depuis un fichier XML.

Voici mon fichier XML :

<?xml version="1.0" encoding="utf-8"?>
<Players>
  <Player PlayerId="1">
    <Name>test</Name>
    <Avatar>avt1</Avatar>
    <Color>red</Color>
    <Score>
      <Played>0</Played>
      <Won>0</Won>
      <Lost>0</Lost>
    </Score>
</Players>


J'aimerais afficher uniquement le nom de mon joueur, et j'essaie de cette manière :

var all = from p in data.Root.Elements("Player") select p;
if (all.Count() != 0)
{
     Console.WriteLine("Names :");
     foreach (var p in all)
          Console.WriteLine((string)p.Attribute("Name"));
}   


Et là : rien du tout (à part "Names :", donc il rentre bien dans le if).

Je précise que quand j'affiche tout le fichier, je n'ai aucun problème, et quand j'affiche l'élément "Name", j'ai bien "<Name>test</Name>", je ne comprends pas pourquoi il ne veut pas m'afficher l'attribut alors qu'il m'affiche l'élément en entier...

Alors, c'est quoi le problème ? Mauvaise syntaxe, mauvaise logique ?

Merci d'avance pour vos réponses.

A voir également:

3 réponses

Utilisateur anonyme
25 oct. 2011 à 23:35
Bonjour,

En VB.Net, la syntaxe dans ta méthode LinQ du mot ( Elements )
ne prend pas de ( s ).

Peut-être que ...

Cdt

Lupin
0
Blashyrk Messages postés 19 Date d'inscription lundi 4 octobre 2010 Statut Membre Dernière intervention 26 octobre 2011 5
26 oct. 2011 à 19:15
J'ai oublié de préciser que je travaille en C#, mais merci tout de même pour votre réponse.
0
Utilisateur anonyme
27 oct. 2011 à 01:35
re:

À voir le code, j'avais bien compris que tu étais en C#, néanmoins
d'après ce que je sais la syntaxe est très similaire.

Cdt

Lupin
0