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-type
abzurufen, 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