Freigeben über


XML-Attributachseneigenschaft (Visual Basic)

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

Syntax

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

Bestandteile

object Erforderlich. Ein XElement Objekt oder eine Auflistung von XElement Objekten.

.@ Erforderlich. Gibt den Anfang einer Attributachseneigenschaft an.

< Wahlfrei. Gibt den Anfang des Namens des Attributs an, wenn attribute es sich nicht um einen gültigen Bezeichner in Visual Basic handelt.

attribute Erforderlich. Name des attributs für den Zugriff, des Formulars [prefix:]name.

Teil BESCHREIBUNG
prefix Wahlfrei. XML-Namespacepräfix für das Attribut. Muss ein globaler XML-Namespace sein, der mit einer Imports Anweisung definiert ist.
name Erforderlich. Lokaler Attributname. Siehe Namen deklarierter XML-Elemente und -Attribute.

> Wahlfrei. Gibt das Ende des Namens des Attributs an, wenn attribute es sich nicht um einen gültigen Bezeichner in Visual Basic handelt.

Rückgabewert

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

Bemerkungen

Sie können eine XML-Attributachseneigenschaft verwenden, um auf den Wert eines Attributs anhand des Namens eines XElement Objekts oder des ersten Elements in einer Auflistung 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, der dem @-Bezeichner vorausgeht.

Wenn Sie mit dem @-Bezeichner 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 eckige Klammern (< und >) ein.

XML-Namespaces

Der Name in einer Attributachseneigenschaft kann nur XML-Namespacepräfixe verwenden, die global mithilfe der Imports Anweisung deklariert werden. Xml-Namespacepräfixe, die lokal innerhalb von XML-Elementliteralen deklariert werden, können nicht verwendet werden. Weitere Informationen finden Sie unter Imports-Anweisung (XML-Namespace).

Beispiel 1

Das folgende Beispiel zeigt, wie Die Werte der XML-Attribute abgerufen werden, die aus einer Auflistung von XML-Elementen benannt type werden, die benannt phonesind.

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

Dieser Code zeigt den folgenden Text an:

<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-Elements erstellt werden, als auch dynamisch durch Hinzufügen eines Attributs zu einer Instanz eines XElement Objekts. Das type Attribut wird deklarativ erstellt, und das owner Attribut wird dynamisch erstellt.

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

Console.WriteLine(phone2)

Dieser Code zeigt den folgenden Text an:

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

Beispiel 3

Im folgenden Beispiel wird die Syntax der eckigen Klammer verwendet, um den Wert des XML-Attributs mit dem Namen number-typeabzurufen, bei dem es sich nicht um einen gültigen Bezeichner in Visual Basic handelt.

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

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

Dieser Code zeigt den folgenden Text an:

Phone type: work

Beispiel 4

Im folgenden Beispiel wird als XML-Namespacepräfix deklariert ns . Anschließend wird das Präfix des Namespace verwendet, um ein XML-Literal zu erstellen und auf den ersten untergeordneten Knoten mit dem qualifizierten Namen "ns:name" zuzugreifen.

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

Dieser Code zeigt den folgenden Text an:

Phone type: home

Siehe auch