Freigeben über


XML-Attributachseneigenschaft (Visual Basic)

Ermöglicht den Zugriff auf den Wert eines Attributs für ein XElement-Objekt oder auf das erste Element in einer Aufzählung von XElement-Objekten.

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

Bestandteile

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

  • .@
    Erforderlich. Kennzeichnet den Beginn eines Achseneigenschaftattributs.

  • <
    Optional. Kennzeichnet den Beginn des Attributnamens, wenn attribute kein gültiger Bezeichner in Visual Basic ist.

  • attribute
    Erforderlich. Name des Attributs, auf das zugegriffen werden soll, in der Form [prefix:]name.

    Bestandteil

    Beschreibungen

    prefix

    Optional. XML-Namespacepräfix für das Attribut. Muss ein globaler XML-Namespace sein, der mit einer Imports-Anweisung definiert ist.

    name

    Erforderlich. Lokaler Attributname. Weitere Informationen finden Sie unter Namen von deklarierten XML-Elementen und Attributen (Visual Basic).

  • >
    Optional. Kennzeichnet das Ende des Attributnamens, wenn attribute kein gültiger Bezeichner in Visual Basic ist.

Rückgabewert

Eine Zeichenfolge mit dem Wert von attribute. Wenn der Attributname nicht vorhanden ist, wird Nothing zurückgegeben.

Hinweise

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

Wenn Sie auf ein XML-Attribut mit dem @-Bezeichner verweisen, wird der Wert des Attributs 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 zugreifen, das einen Namen hat, 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 einem Achseneigenschaftattribut 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

Das folgende Beispiel zeigt, wie die Werte der XML-Attribute mit dem Namen type aus einer Auflistung 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>

Das folgenden Beispiel zeigt, wie Attribute für ein XML-Element erstellt werden, zum einen deklarativ als Teil des XML, zum anderen auch dynamisch, indem ein Attribut zu einer Instanz eines XElement-Objekts hinzugefügt wird. 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)

Durch diesen Code wird folgender Text angezeigt:

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

Das folgende Beispiel verwendet die Syntax mit spitzen Klammern zum Abrufen des Werts des XML-Attributs mit dem Namen number-type, der 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

Das folgende Beispiel deklariert ns als ein XML-Namespacepräfix. Anschließend wird das Namespacepräfix 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

Durch diesen Code wird folgender Text angezeigt:

Phone type: home

Siehe auch

Referenz

XElement

Konzepte

Namen von deklarierten XML-Elementen und Attributen (Visual Basic)

Weitere Ressourcen

XML-Achseneigenschaften (Visual Basic)

XML-Literale (Visual Basic)

Erstellen von XML in Visual Basic