Share via


Proprietà axis dell'attributo XML (Visual Basic)

Fornisce l'accesso al valore di un attributo per un oggetto XElement o al primo elemento di una raccolta di oggetti XElement.

Sintassi

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

Parti

object Obbligatorio. Oggetto XElement o insieme di oggetti XElement.

.@ Obbligatorio. Indica l'inizio di una proprietà dell'asse degli attributi.

< Facoltativo. Indica l'inizio del nome dell'attributo quando attribute non è un identificatore valido in Visual Basic.

attribute Obbligatorio. Nome dell'attributo a cui accedere, del formato [prefix:]name.

In parte Descrizione
prefix Facoltativo. Prefisso dello spazio dei nomi XML per l'attributo. Deve essere uno spazio dei nomi XML globale definito usando un'istruzione Imports.
name Obbligatorio. Nome attributo locale. Vedere nomi di elementi e attributi XML dichiarati.

> Facoltativo. Indica la fine del nome dell'attributo quando attribute non è un identificatore valido in Visual Basic.

Valore restituito

Stringa contenente il valore di attribute. Se il nome dell'attributo non esiste, Nothing viene restituito.

Osservazioni:

È possibile utilizzare una proprietà dell'asse degli attributi XML per accedere al valore di un attributo in base al nome da un oggetto XElement o dal primo elemento di una raccolta di oggetti XElement. È possibile recuperare un valore dell'attributo in base al nome o aggiungere un nuovo attributo a un elemento specificando un nuovo nome preceduto dall'identificatore @.

Quando si fa riferimento a un attributo XML usando l'identificatore @, il valore dell'attributo viene restituito come stringa e non è necessario specificare in modo esplicito la proprietà Value.

Le regole di denominazione per gli attributi XML differiscono dalle regole di denominazione per gli identificatori di Visual Basic. Per accedere a un attributo XML con un nome che non è un identificatore di Visual Basic valido, racchiudere il nome tra parentesi angolari (< e >).

Spazi dei nomi XML

Il nome in una proprietà dell'asse degli attributi può usare solo i prefissi dello spazio dei nomi XML dichiarati a livello globale tramite l'istruzione Imports. Non può usare prefissi degli spazi dei nomi XML dichiarati localmente all'interno di valori letterali dell'elemento XML. Per altre informazioni, vedere Istruzione Imports (spazio dei nomi XML).

Esempio 1

Nell'esempio seguente viene illustrato come ottenere i valori degli attributi XML denominati type da una raccolta di elementi XML denominati 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)

Questo codice visualizza il testo seguente:

<phoneTypes>

<type>home</type>

<type>work</type>

</phoneTypes>

Esempio 2

Nell'esempio seguente viene illustrato come creare attributi per un elemento XML in modo dichiarativo, come parte del codice XML e in modo dinamico aggiungendo un attributo a un'istanza di un oggetto XElement. L'attributo type viene creato in modo dichiarativo e l'attributo owner viene creato in modo dinamico.

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

Console.WriteLine(phone2)

Questo codice visualizza il testo seguente:

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

Esempio 3

Nell'esempio seguente viene utilizzata la sintassi delle parentesi angolari per ottenere il valore dell'attributo XML denominato number-type, che non è un identificatore valido in Visual Basic.

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

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

Questo codice visualizza il testo seguente:

Phone type: work

Esempio 4

Nell'esempio seguente viene dichiarato ns come un prefisso dello spazio dei nomi XML. Il prefisso dello spazio dei nomi viene quindi usato per creare un valore letterale XML e accedere al primo nodo figlio con il nome 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

Questo codice visualizza il testo seguente:

Phone type: home

Vedi anche