Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En literal som representerar ett XElement objekt.
Syntax
<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>
Delar
<Obligatoriskt. Öppnar taggen startelement.
nameObligatoriskt. Namnet på elementet. Formatet är något av följande:
Literaltext för elementnamnet i formuläret
[ePrefix:]eName, där:Del Beskrivning ePrefixValfritt. XML-namnområdesprefix för elementet. Måste vara ett globalt XML-namnområde som definieras med en Importsinstruktion i filen eller på projektnivå, eller ett lokalt XML-namnområde som definieras i det här elementet eller ett överordnat element.eNameObligatoriskt. Namnet på elementet. Formatet är något av följande:
- Literal text. Se Namn på deklarerade XML-element och attribut.
– Inbäddat uttryck i formuläret<%= eNameExp %>. Typen måsteeNameExpvaraStringeller en typ som implicit kan konverteras till XName.Inbäddat uttryck i formuläret
<%= nameExp %>. Typen måstenameExpvaraStringeller en typ som implicit kan konverteras till XName. Ett inbäddat uttryck tillåts inte i en avslutande tagg för ett element.
attributeListValfritt. Lista över attribut som deklarerats i literalen.
attribute [ attribute ... ]Var och
attributeen har någon av följande syntaxer:Attributtilldelning, i formuläret
[aPrefix:]aName=aValue, där:Del Beskrivning aPrefixValfritt. XML-namnområdesprefix för attributet. Måste vara ett globalt XML-namnområde som definieras med en Imports-instruktion eller ett lokalt XML-namnområde som definieras i det här elementet eller ett överordnat element.aNameObligatoriskt. Namnet på attributet. Formatet är något av följande:
- Literal text. Se Namn på deklarerade XML-element och attribut.
– Inbäddat uttryck i formuläret<%= aNameExp %>. Typen måsteaNameExpvaraStringeller en typ som implicit kan konverteras till XName.aValueValfritt. Värdet för attributet. Formatet är något av följande:
- Literal text, omgiven av citattecken.
– Inbäddat uttryck i formuläret<%= aValueExp %>. Alla typer tillåts.Inbäddat uttryck i formuläret
<%= aExp %>.
/>Valfritt. Anger att elementet är ett tomt element, utan innehåll.
>Obligatoriskt. Avslutar elementtaggen början eller tom.
elementContentsValfritt. Innehållet i elementet.
content [ content ... ]Var och
contenten kan vara något av följande:Literal text. Allt tomt utrymme i
elementContentsblir betydande om det finns någon literaltext.Inbäddat uttryck i formuläret
<%= contentExp %>.XML-elementliteral.
XML-kommentarliteral. Se XML-kommentarliteral.
XML-bearbetningsinstruktionsliteral. Se XML-bearbetningsinstruktionslitral.
XML CDATA-literal. Se XML CDATA Literal.
</[name]>Valfritt. Representerar den avslutande taggen för elementet. Den valfria
nameparametern tillåts inte när det är resultatet av ett inbäddat uttryck.
Returvärde
Ett XElement objekt.
Anmärkningar
Du kan använda xml-elementliteralsyntaxen för att skapa XElement objekt i koden.
Anmärkning
En XML-literal kan sträcka sig över flera rader utan att använda radfortsättningstecken. Med den här funktionen kan du kopiera innehåll från ett XML-dokument och klistra in det direkt i ett Visual Basic-program.
Med inbäddade uttryck i formuläret <%= exp %> kan du lägga till dynamisk information i en XML-elementliteral. Mer information finns i Inbäddade uttryck i XML.
Visual Basic-kompilatorn konverterar XML-elementliteralen till anrop till XElement konstruktorn och, om det behövs, XAttribute konstruktorn.
XML-namnområden
XML-namnområdesprefix är användbara när du måste skapa XML-literaler med element från samma namnområde många gånger i koden. Du kan använda globala XML-namnområdesprefix som du definierar med hjälp av -instruktionen Imports eller lokala prefix som du definierar med hjälp av attributsyntaxen xmlns:xmlPrefix="xmlNamespace" . Mer information finns i Importinstruktor (XML-namnområde).
I enlighet med omfångsreglerna för XML-namnområden har lokala prefix företräde framför globala prefix. Men om en XML-literal definierar ett XML-namnområde är namnområdet inte tillgängligt för uttryck som visas i ett inbäddat uttryck. Det inbäddade uttrycket kan bara komma åt det globala XML-namnområdet.
Visual Basic-kompilatorn konverterar varje globalt XML-namnområde som används av en XML-literal till en definition av ett lokalt namnområde i den genererade koden. Globala XML-namnområden som inte används visas inte i den genererade koden.
Exempel 1
I följande exempel visas hur du skapar ett enkelt XML-element som har två kapslade tomma element.
Dim test1 As XElement =
<outer>
<inner1></inner1>
<inner2/>
</outer>
Console.WriteLine(test1)
I exemplet visas följande text. Observera att literalen bevarar strukturen för de tomma elementen.
<outer>
<inner1></inner1>
<inner2 />
</outer>
Exempel 2
I följande exempel visas hur du använder inbäddade uttryck för att namnge ett element och skapa attribut.
Dim elementType = "book"
Dim authorName = "My Author"
Dim attributeName1 = "year"
Dim attributeValue1 = 1999
Dim attributeName2 = "title"
Dim attributeValue2 = "My Book"
Dim book As XElement =
<<%= elementType %>
isbn="1234"
author=<%= authorName %>
<%= attributeName1 %>=<%= attributeValue1 %>
<%= New XAttribute(attributeName2, attributeValue2) %>
/>
Console.WriteLine(book)
Den här koden visar följande text:
<book isbn="1234" author="My Author" year="1999" title="My Book" />
Exempel 3
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 visar elementets slutliga formulär.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Class TestClass1
Shared Sub TestPrefix()
' Create test using a global XML namespace prefix.
Dim inner2 = <ns:inner2/>
Dim test =
<ns:outer>
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1/>
<%= inner2 %>
</ns:middle>
</ns:outer>
' Display test to see its final form.
Console.WriteLine(test)
End Sub
End Class
Den här koden visar följande text:
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Observera att kompilatorn konverterade prefixet för det globala XML-namnområdet till en prefixdefinition för XML-namnområdet. Elementet <ns:middle> omdefinierar XML-namnområdesprefixet för elementet <ns:inner1> . Elementet <ns:inner2> använder dock det namnområde som definieras av -instruktionen Imports .