Propriedade de eixo de atributo XML (Visual Basic)

Fornece acesso ao valor de um atributo para um XElement objeto ou para o primeiro elemento em uma coleção de XElement objetos.

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

Partes

  • object
    Obrigatório.Um objeto XElement ou uma coleção de objetos XElement.

  • .@
    Obrigatório.Indica o início de uma propriedade do eixo de atributo.

  • <
    Opcional.Indica o início do nome do atributo attribute quando não um identificador válido no Visual Basic.

  • attribute
    Obrigatório.Nome do atributo para acessar, do formulário [prefix:] name.

    Parte

    Descrição

    prefix

    Opcional.Prefixo para namespace XML para o atributo.Deve ser um namespace para XML global definido com uma declaração Imports.

    name

    Obrigatório.Nome do Atributo local.Consulte Nomes de elementos declarados XML e atributos (Visual Basic).

  • >
    Opcional.Indica o início do nome do atributo attribute quando não um identificador válido no Visual Basic.

Valor de retorno

Uma seqüência de caracteres que contém o valor de attribute.Se não existir, o nome do atributo Nothing é retornado.

Comentários

Você pode usar uma propriedade do eixo de atributo XML para acessar o valor de um atributo por nome de um XElement objeto ou do primeiro elemento em uma coleção de XElement objetos.Você pode recuperar um valor de atributo pelo nome, ou adicionar um novo atributo a um elemento, especificando um novo nome precedido de @ identificador.

Quando você fazer referência a um atributo XML usando o @ identificador, o valor de atributo é retornado como uma sequência de caracteres e você não será necessário especificar a propriedade Value explicitamente.

As regras de nomeação para atributos XML são diferentes das regras de nomenclatura para Visual Basic identificadores. Para acessar um atributo XML que tem um nome que não é um identificador válido de Visual Basic, coloque o nome em colchetes angulares (< e >).

Namespaces XML

O nome em um propriedade do eixo de atributo pode usar somente prefixos namespace para XML declarados usando a instrução Imports globalmente.Não é possível usar prefixos namespace para XML declarados localmente em literais de elemento XML.Para obter mais informações, consulte Declaração Imports (Namespace XML).

Exemplo

O exemplo a seguir mostra como obter os valores dos atributos XML chamados type de uma coleção de elementos que são denominados phone XML.

' 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)

Esse código exibe o texto a seguir:

<phoneTypes>

<type>home</type>

<type>work</type>

</phoneTypes>

O exemplo a seguir mostra como criar atributos para um elemento XML tanto declarativamente, como parte do XML e dinamicamente adicionando um atributo a uma instância de um objeto XElement.O atributo type declarativamente é criado e o owne r atributo é criado dinamicamente.

Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"

Console.WriteLine(phone2)

Esse código exibe o texto a seguir:

<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>

O exemplo a seguir usa a sintaxe colchete angular para obter o valor da atributo XML chamado number-type,que é Não um identificador válido no Visual Basic. 

Dim phone As XElement = 
     <phone number-type=" work">425-555-0145</phone>

 Console.WriteLine("Phone type: " & phone.@<number-type>)

Esse código exibe o texto a seguir:

Phone type: work

O exemplo a seguir declara ns como um prefixo de namespace para XML.Ele usa o prefixo de namespace, em seguida, para criar um XML literal e acessar a primeira nó filho com o nome qualificado "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

Esse código exibe o texto a seguir:

Phone type: home

Consulte também

Referência

XElement

Conceitos

Nomes de elementos declarados XML e atributos (Visual Basic)

Outros recursos

Propriedades de eixo XML (Visual Basic)

Literais XML (Visual Basic)

Criando XML no Visual Basic