Eigenschap XML-kenmerkas (Visual Basic)
Biedt toegang tot de waarde van een kenmerk voor een XElement object of het eerste element in een verzameling XElement objecten.
Syntaxis
object.@attribute
' -or-
object.@<attribute>
generator
object
Vereist. Een XElement object of een verzameling XElement objecten.
.@ Vereist. Geeft het begin aan van een kenmerkaseigenschap.
< Optionele. Geeft het begin van de naam van het kenmerk aan wanneer attribute
het geen geldige id is in Visual Basic.
attribute
Vereist. Naam van het kenmerk dat moet worden geopend, van het formulier [prefix
:]name
.
Onderdeel | Beschrijving |
---|---|
prefix |
Optioneel. XML-naamruimtevoorvoegsel voor het kenmerk. Moet een globale XML-naamruimte zijn die is gedefinieerd met een Imports instructie. |
name |
Vereist. Naam van lokaal kenmerk. Zie de namen van gedeclareerde XML-elementen en -kenmerken. |
> Optionele. Geeft het einde van de naam van het kenmerk aan wanneer attribute
het geen geldige id is in Visual Basic.
Retourwaarde
Een tekenreeks die de waarde van attribute
. Als de kenmerknaam niet bestaat, Nothing
wordt deze geretourneerd.
Opmerkingen
U kunt een eigenschap van de XML-kenmerkas gebruiken om toegang te krijgen tot de waarde van een kenmerk op naam van een XElement object of van het eerste element in een verzameling XElement objecten. U kunt een kenmerkwaarde op naam ophalen of een nieuw kenmerk toevoegen aan een element door een nieuwe naam op te geven die voorafgaat door de @-id.
Wanneer u naar een XML-kenmerk verwijst met behulp van de @-id, wordt de kenmerkwaarde geretourneerd als een tekenreeks en hoeft u de Value eigenschap niet expliciet op te geven.
De naamgevingsregels voor XML-kenmerken verschillen van de naamgevingsregels voor Visual Basic-id's. Als u toegang wilt krijgen tot een XML-kenmerk met een naam die geen geldige Visual Basic-id is, plaatst u de naam tussen punthaken (< en >).
XML-naamruimten
De naam in een kenmerkaseigenschap kan alleen xml-naamruimtevoorvoegsels gebruiken die globaal zijn gedeclareerd met behulp van de Imports
instructie. Er kunnen geen xml-naamruimtevoorvoegsels worden gebruikt die lokaal zijn gedeclareerd binnen letterlijke xml-elementen. Zie Importinstructie (XML-naamruimte) voor meer informatie.
Voorbeeld 1
In het volgende voorbeeld ziet u hoe u de waarden opgeeft van de XML-kenmerken die zijn benoemd type
uit een verzameling XML-elementen met de naam phone
.
' 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)
Met deze code wordt de volgende tekst weergegeven:
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
Voorbeeld 2
In het volgende voorbeeld ziet u hoe u kenmerken maakt voor een XML-element, zowel declaratief als onderdeel van de XML, en dynamisch door een kenmerk toe te voegen aan een exemplaar van een XElement object. Het type
kenmerk wordt declaratief gemaakt en het owner
kenmerk wordt dynamisch gemaakt.
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
Met deze code wordt de volgende tekst weergegeven:
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
Voorbeeld 3
In het volgende voorbeeld wordt de syntaxis van de punthaken gebruikt om de waarde van het XML-kenmerk met de naam number-type
op te halen. Dit is geen geldige id in Visual Basic.
Dim phone As XElement =
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
Met deze code wordt de volgende tekst weergegeven:
Phone type: work
Voorbeeld 4
In het volgende voorbeeld wordt het voorvoegsel van de XML-naamruimte opgegeven ns
. Vervolgens wordt het voorvoegsel van de naamruimte gebruikt om een letterlijke XML-waarde te maken en toegang te krijgen tot het eerste onderliggende knooppunt met de gekwalificeerde naam 'ns:name
'.
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
Met deze code wordt de volgende tekst weergegeven:
Phone type: home