2010-11-19 5 views

Répondre

3

Vous devez utiliser la propriété Value de la classe XAttribute:

string attrValue = element.Attribute("name").Value; 

Notez que la méthode Attributes() retourne un IEnumerable<XAttribute> que vous devez parcourir, au lieu d'une instance XAttribute. De plus, ce sont des méthodes et non des propriétés indexées: vous devez les appeler en utilisant des parenthèses et non des crochets.

XAttribute ne prend pas en charge une propriété InnerText, vous devrez donc utiliser Value à la place.

+0

Quelle est la différence? En outre, quelle est la différence entre les attributs [xxx] et l'attribut (xxx)? – user496949

+0

@ user496949, il n'y a aucune différence car 'XAttribute' ne supporte pas' InnerText'. Voir ma réponse mise à jour. J'ai utilisé les types LINQ To XML puisque votre question est marquée comme telle, peut-être que vous vouliez quelque chose d'autre? –

1

Vous pouvez utiliser cette option, pour intercepter une exception si l'attribut est null

string attrValue = node.Attributes["name"] == null ? string.Empty : node.Attributes["name"].Value; 
Questions connexes