XML-Attribut Achseneigenschaft

Aktualisiert: November 2007

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

    Beschreibung

    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. Siehe Namen von deklarierten XML-Elementen und Attributen.

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

Rückgabewert

Eine Zeichenfolge, die den Wert des Attributs enthält.

Hinweise

Sie können ein XML-Attribut Achseneigenschaft zum Zugreifen auf den Wert eines Attributs über den Namen in einem XElement-Objekt oder im ersten Element in einer Auflistung von XElement-Objekten verwenden. 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. Für den Zugriff auf ein XML-Attribut mit einem Namen, der kein gültiger Visual Basic-Bezeichner ist, schließen Sie den Namen in spitze Klammer ein (< und >).

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

Konzepte

Namen von deklarierten XML-Elementen und Attributen

Referenz

XElement

Weitere Ressourcen

XML-Achseneigenschaften

XML-Literale

Erstellen von XML in Visual Basic