Dela via


XML-attributaxelegenskap (Visual Basic)

Ger åtkomst till värdet för ett attribut för ett XElement objekt eller till det första elementet i en samling XElement objekt.

Syntax

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

Delar

object Krävs. Ett XElement objekt eller en samling XElement objekt.

.@ Krävs. Anger början på en attributaxelegenskap.

< Valfri. Anger början av namnet på attributet när attribute inte är en giltig identifierare i Visual Basic.

attribute Krävs. Namnet på attributet för åtkomst, för formuläret [prefix:]name.

Delvis beskrivning
prefix Valfritt. XML-namnområdesprefix för attributet. Måste vara ett globalt XML-namnområde som definierats med en Imports -instruktion.
name Obligatoriska. Namn på lokala attribut. Se Namn på deklarerade XML-element och attribut.

> Valfri. Anger slutet på namnet på attributet när attribute det inte är en giltig identifierare i Visual Basic.

Returvärde

En sträng som innehåller värdet attributeför . Om attributnamnet inte finns Nothing returneras.

Kommentarer

Du kan använda en XML-attributaxelegenskap för att komma åt värdet för ett attribut efter namn från ett XElement objekt eller från det första elementet i en samling XElement objekt. Du kan hämta ett attributvärde efter namn eller lägga till ett nytt attribut i ett element genom att ange ett nytt namn som föregås av @-identifieraren.

När du refererar till ett XML-attribut med hjälp av @-identifieraren returneras attributvärdet som en sträng och du behöver inte uttryckligen Value ange egenskapen.

Namngivningsreglerna för XML-attribut skiljer sig från namngivningsreglerna för Visual Basic-identifierare. Om du vill komma åt ett XML-attribut som har ett namn som inte är en giltig Visual Basic-identifierare omger du namnet inom vinkelparenteser (< och >).

XML-namnområden

Namnet i en attributaxelegenskap kan endast använda XML-namnområdesprefix som deklareras globalt med hjälp av -instruktionen Imports . Det går inte att använda XML-namnområdesprefix som deklarerats lokalt i XML-elementliteraler. Mer information finns i Importinstruktor (XML-namnområde).

Exempel 1

I följande exempel visas hur du hämtar värdena för XML-attributen med namnet type från en samling XML-element med namnet 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)

Den här koden visar följande text:

<phoneTypes>

<type>home</type>

<type>work</type>

</phoneTypes>

Exempel 2

I följande exempel visas hur du skapar attribut för ett XML-element både deklarativt, som en del av XML-koden, och dynamiskt genom att lägga till ett attribut i en instans av ett XElement objekt. Attributet type skapas deklarativt och owner attributet skapas dynamiskt.

Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"

Console.WriteLine(phone2)

Den här koden visar följande text:

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

Exempel 3

I följande exempel används syntaxen för vinkelparentes för att hämta värdet för XML-attributet med namnet number-type, som inte är en giltig identifierare i Visual Basic.

Dim phone As XElement = 
     <phone number-type=" work">425-555-0145</phone>

 Console.WriteLine("Phone type: " & phone.@<number-type>)

Den här koden visar följande text:

Phone type: work

Exempel 4

I följande exempel deklareras som ett XML-namnområdesprefix ns . Den använder sedan prefixet för namnområdet för att skapa en XML-literal och komma åt den första underordnade noden med det kvalificerade namnet "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

Den här koden visar följande text:

Phone type: home

Se även