Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Proporciona acceso al valor de un atributo para un XElement objeto o al primer elemento de una colección de XElement objetos .
Sintaxis
object.@attribute
' -or-
object.@<attribute>
Partes
object Obligatorio. Objeto XElement o colección de XElement objetos .
.@ Requerido. Indica el inicio de una propiedad del eje de atributos.
< opcional. Indica el principio del nombre del atributo cuando attribute no es un identificador válido en Visual Basic.
attribute Obligatorio. Nombre del atributo al que se va a tener acceso, con el formato [prefix:]name.
| Parte | Descripción |
|---|---|
prefix |
Opcional. Prefijo de espacio de nombres XML para el atributo . Debe ser un espacio de nombres XML global definido con una Imports instrucción . |
name |
Obligatorio. Nombre del atributo local. Vea Nombres de atributos y elementos XML declarados. |
> opcional. Indica el final del nombre del atributo cuando attribute no es un identificador válido en Visual Basic.
Valor devuelto
Cadena que contiene el valor de attribute. Si el nombre del atributo no existe, Nothing se devuelve.
Observaciones
Puede usar una propiedad de eje de atributos XML para tener acceso al valor de un atributo por su nombre desde un XElement objeto o desde el primer elemento de una colección de XElement objetos . Puede recuperar un valor de atributo por nombre o agregar un nuevo atributo a un elemento especificando un nuevo nombre precedido por el identificador @ .
Al hacer referencia a un atributo XML mediante el identificador @ , el valor del atributo se devuelve como una cadena y no es necesario especificar explícitamente la Value propiedad .
Las reglas de nomenclatura de los atributos XML difieren de las reglas de nomenclatura de los identificadores de Visual Basic. Para tener acceso a un atributo XML que tiene un nombre que no es un identificador válido de Visual Basic, incluya el nombre entre corchetes angulares (< y >).
Espacios de nombres XML
El nombre de una propiedad del eje de atributos solo puede usar prefijos de espacio de nombres XML declarados globalmente mediante la Imports instrucción . No puede usar prefijos de espacio de nombres XML declarados localmente en literales de elemento XML. Para más información, consulte Imports (Instrucción, Espacio de nombres XML).
Ejemplo 1
En el ejemplo siguiente se muestra cómo obtener los valores de los atributos XML denominados type de una colección de elementos XML denominados 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)
Este código muestra el texto siguiente:
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
Ejemplo 2
En el ejemplo siguiente se muestra cómo crear atributos para un elemento XML de forma declarativa, como parte del XML y agregar dinámicamente un atributo a una instancia de un XElement objeto . El type atributo se crea mediante declaración y el owner atributo se crea dinámicamente.
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
Este código muestra el texto siguiente:
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
Ejemplo 3
En el ejemplo siguiente se usa la sintaxis de corchetes angulares para obtener el valor del atributo XML denominado number-type, que no es un identificador válido en Visual Basic.
Dim phone As XElement =
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
Este código muestra el texto siguiente:
Phone type: work
Ejemplo 4
En el ejemplo siguiente se declara ns como prefijo de espacio de nombres XML. A continuación, usa el prefijo del espacio de nombres para crear un literal XML y acceder al primer nodo secundario con el nombre completo "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
Este código muestra el texto siguiente:
Phone type: home