est quelque chose comme node.Attributes ["nom"]. InnerText le bon moyen?Comment obtenir les attributs d'un nœud xml
2
A
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.
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;
Quelle est la différence? En outre, quelle est la différence entre les attributs [xxx] et l'attribut (xxx)? – user496949
@ 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? –