XML-Attributachseneigenschaft (Visual Basic)

Bietet Zugriff auf den Wert eines Attributs für ein XElement-Objekt oder auf das erste Element in einer Sammlung von XElement-Objekten.

Syntax

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

Bestandteile

object ist erforderlich. Ein XElement-Objekt oder eine Sammlung von XElement-Objekten.

.@ ist erforderlich. Gibt den Anfang einer Attributachseneigenschaft an.

< ist optional. Gibt den Anfang des Namens des Attributs an, wenn attribute kein gültiger Bezeichner in Visual Basic ist.

attribute ist erforderlich. Der Name des Attributs, auf das zugegriffen werden soll, im Format [prefix:]name.

Teil Beschreibung
prefix Optional. Das XML-Namespacepräfix für das Attribut. Muss ein globaler XML-Namespace sein, der mit einer Imports-Anweisung definiert ist.
name Erforderlich. Der lokale Attributname. Weitere Informationen finden Sie unter Namen von deklarierten XML-Elementen und -Attributen.

> ist optional. Gibt das Ende des Namens des Attributs an, wenn attribute kein gültiger Bezeichner in Visual Basic ist.

Rückgabewert

Eine Zeichenfolge, die den Wert von attribute enthält. Wenn der Attributname nicht vorhanden ist, wird Nothing zurückgegeben.

Bemerkungen

Sie können eine XML-Attributachseneigenschaft verwenden, um auf den Wert eines Attributs anhand des Namens aus einem XElement-Objekt oder aus dem ersten Element in einer Sammlung von XElement-Objekten zuzugreifen. Sie können einen Attributwert anhand des Namens abrufen oder einem Element ein neues Attribut hinzufügen, indem Sie einen neuen Namen angeben, dem der @-Bezeichner vorangestellt ist.

Wenn Sie mithilfe des @-Bezeichners auf ein XML-Attribut verweisen, wird der Attributwert als Zeichenfolge zurückgegeben, und Sie müssen die Value-Eigenschaft nicht explizit angeben.

Die Benennungsregeln für XML-Attribute unterscheiden sich von den Benennungsregeln für Visual Basic-Bezeichner. Um auf ein XML-Attribut zuzugreifen, das über einen Namen verfügt, der kein gültiger Visual Basic-Bezeichner ist, schließen Sie den Namen in spitzen Klammern (< und >) ein.

XML-Namespaces

Für den Namen in einer Attributachseneigenschaft können nur XML-Namespacepräfixe verwendet werden, die mit der Imports-Anweisung global deklariert wurden. Es können keine XML-Namespacepräfixe verwendet werden, die lokal innerhalb von XML-Elementliteralen deklariert wurden. Weitere Informationen finden Sie unter Imports-Anweisung (XML-Namespace).

Beispiel 1

Das folgende Beispiel zeigt, wie die Werte der XML-Attribute namens type aus einer Sammlung von XML-Elementen mit dem Namen phone abgerufen werden.

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

Durch diesen Code wird folgender Text angezeigt:

<phoneTypes>

<type>home</type>

<type>work</type>

</phoneTypes>

Beispiel 2

Das folgende Beispiel zeigt, wie Attribute für ein XML-Element sowohl deklarativ als Teil des XML-Codes als auch dynamisch durch Hinzufügen eines Attributs zu einer Instanz eines XElement-Objekts erstellt werden. Das type-Attribut wird deklarativ erstellt, das owner-Attribut dynamisch.

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

Console.WriteLine(phone2)

Durch diesen Code wird folgender Text angezeigt:

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

Beispiel 3

Im folgenden Beispiel wird die Syntax mit spitzen Klammern verwendet, um den Wert des XML-Attributs namens number-typeabzurufen, das in Visual Basic kein gültiger Bezeichner ist.

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

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

Durch diesen Code wird folgender Text angezeigt:

Phone type: work

Beispiel 4

Das folgende Beispiel deklariert ns als ein XML-Namespacepräfix. Anschließend wird mit dem Namespacepräfix ein XML-Literal erstellt und auf den ersten untergeordneten Knoten mit dem qualifizierten Namen „ns:name“ zugegriffen.

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

Durch diesen Code wird folgender Text angezeigt:

Phone type: home

Siehe auch