Delen via


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-typeop 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

Zie ook