Compartir a través de


Propiedad de eje para atributos XML (Visual Basic)

Proporciona acceso al valor de un atributo para un objeto XElement o al primer elemento de una colección de objetos XElement.

object.@attribute
-or-
object.@<attribute>

Elementos

  • object
    Obligatorio.Objeto XElement o colección de objetos XElement.

  • .@
    Obligatorio.Denota el inicio de una propiedad de eje de atributo.

  • <
    Opcional.Denota el principio del nombre del atributo cuando attribute no es un identificador válido en Visual Basic.

  • attribute
    Obligatorio.Nombre del atributo para obtener acceso, con el formato [prefix:]name.

    Parte

    Descripción

    prefix

    Opcional.Prefijo de espacio de nombres XML del atributo.Debe ser un espacio de nombres XML global definido con una instrucción Imports.

    name

    Obligatorio.Nombre de atributo local.Vea Nombres de atributos y elementos XML declarados (Visual Basic).

  • >
    Opcional.Denota 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 de atributo no existe, se devuelve Nothing.

Comentarios

Puede utilizar una propiedad de eje de atributo XML para tener acceso al valor de un atributo por nombre desde un objeto XElement o desde el primer elemento de una colección de objetos XElement.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 al valor de un atributo XML mediante el identificador @, el valor del atributo se devuelve como cadena y no se necesita especificar explícitamente la propiedad Value.

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, encierre el nombre entre corchetes angulares (< y >).

Espacios de nombres XML

El nombre en una propiedad de eje de atributo sólo puede utilizar prefijos del espacio de nombres XML declarados globalmente mediante la instrucción Imports.No puede usar prefijos de espacio de nombres XML declarados localmente dentro de los literales de elemento XML.Para obtener más información, vea Imports (Instrucción, Espacio de nombres XML).

Ejemplo

El ejemplo siguiente muestra cómo obtener los valores de los atributos XML denominados type a partir de una colección de elementos XML que se denominan 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>

El ejemplo siguiente muestra cómo crear los atributos de un elemento XML tanto mediante declaración, como parte del XML, como dinámicamente agregando un atributo a una instancia de un objeto XElement.Se crea el atributo type mediante declaración y el atributo owne 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>

El ejemplo siguiente utiliza 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

En el ejemplo siguiente se declara ns como prefijo de espacio de nombres XML.A continuación, se usa el prefijo del espacio de nombres para crear un literal XML y obtener acceso 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

Vea también

Referencia

XElement

Conceptos

Nombres de atributos y elementos XML declarados (Visual Basic)

Otros recursos

Propiedades de eje XML (Visual Basic)

Literales XML (Visual Basic)

Crear XML en Visual Basic