Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fournit l’accès à la valeur d’un attribut pour un XElement objet ou au premier élément d’une collection d’objets XElement .
Syntaxe
object.@attribute
' -or-
object.@<attribute>
Pièces
object
Obligatoire. Objet XElement ou collection d’objets XElement .
.@ Obligatoire. Indique le début d’une propriété d’axe d’attribut.
< Facultatif. Indique le début du nom de l’attribut lorsqu’il attribute
n’est pas un identificateur valide en Visual Basic.
attribute
Obligatoire. Nom de l’attribut à accéder, du formulaire [prefix
:]name
.
Composant | Descriptif |
---|---|
prefix |
Optionnel. Préfixe d’espace de noms XML pour l’attribut. Doit être un espace de noms XML global défini avec une Imports instruction. |
name |
Obligatoire. Nom de l’attribut local. Consultez les noms des éléments et attributs XML déclarés. |
> Facultatif. Indique la fin du nom de l’attribut lorsqu’il attribute
n’est pas un identificateur valide en Visual Basic.
Valeur de retour
Chaîne qui contient la valeur de attribute
. Si le nom de l’attribut n’existe pas, Nothing
est retourné.
Remarques
Vous pouvez utiliser une propriété d’axe d’attribut XML pour accéder à la valeur d’un attribut par nom à partir d’un XElement objet ou du premier élément d’une collection d’objets XElement . Vous pouvez récupérer une valeur d’attribut par nom ou ajouter un nouvel attribut à un élément en spécifiant un nouveau nom précédé de l’identificateur @.
Lorsque vous faites référence à un attribut XML à l’aide de l’identificateur @, la valeur de l’attribut est retournée sous forme de chaîne et vous n’avez pas besoin de spécifier explicitement la Value propriété.
Les règles d’affectation de noms pour les attributs XML diffèrent des règles d’affectation de noms pour les identificateurs Visual Basic. Pour accéder à un attribut XML qui a un nom qui n’est pas un identificateur Visual Basic valide, placez le nom entre crochets< (et >).
Espaces de noms XML
Le nom d’une propriété d’axe d’attribut peut utiliser uniquement les préfixes d’espace de noms XML déclarés globalement à l’aide de l’instruction Imports
. Il ne peut pas utiliser les préfixes d’espace de noms XML déclarés localement dans les littéraux d’élément XML. Pour plus d’informations, consultez Imports Statement (XML Namespace).
Exemple 1
L’exemple suivant montre comment obtenir les valeurs des attributs XML nommés type
à partir d’une collection d’éléments XML nommés phone
.
' Topic: XML Attribute Axis Property
Dim phones As XElement =
<phones>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</phones>
Dim phoneTypes As XElement =
<phoneTypes>
<%= From phone In phones.<phone>
Select <type><%= phone.@type %></type>
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
Ce code affiche le texte suivant :
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
Exemple 2
L’exemple suivant montre comment créer des attributs pour un élément XML de manière déclarative, dans le cadre du code XML et dynamiquement en ajoutant un attribut à une instance d’un XElement objet. L’attribut type
est créé de manière déclarative et l’attribut owner
est créé dynamiquement.
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
Ce code affiche le texte suivant :
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
Exemple 3
L’exemple suivant utilise la syntaxe entre crochets pour obtenir la valeur de l’attribut XML nommé number-type
, qui n’est pas un identificateur valide dans Visual Basic.
Dim phone As XElement =
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
Ce code affiche le texte suivant :
Phone type: work
Exemple 4
L’exemple suivant déclare ns
comme préfixe d’espace de noms XML. Il utilise ensuite le préfixe de l’espace de noms pour créer un littéral XML et accéder au premier nœud enfant avec le nom qualifié «ns:name
».
Imports <xmlns:ns = "http://SomeNamespace">
Class TestClass3
Shared Sub TestPrefix()
Dim phone =
<ns:phone ns:type="home">206-555-0144</ns:phone>
Console.WriteLine("Phone type: " & phone.@ns:type)
End Sub
End Class
Ce code affiche le texte suivant :
Phone type: home