Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Valore letterale che rappresenta un XElement oggetto .
Sintassi
<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>
Parti
<Obbligatorio. Apre il tag dell'elemento iniziale.
nameObbligatorio. Nome dell'elemento. Il formato è uno dei seguenti:
Testo letterale per il nome dell'elemento, del formato
[ePrefix:]eName, dove:Parte Descrizione ePrefixOpzionale. Prefisso dello spazio dei nomi XML per l'elemento . Deve essere uno spazio dei nomi XML globale definito con un'istruzione Importsnel file o a livello di progetto oppure uno spazio dei nomi XML locale definito in questo elemento o un elemento padre.eNameObbligatorio. Nome dell'elemento. Il formato è uno dei seguenti:
- Testo letterale. Vedere Nomi di elementi e attributi XML dichiarati.
- Espressione incorporata del formato<%= eNameExp %>. Il tipo dieNameExpdeve essereStringo un tipo convertibile in modo implicito in XName.Espressione incorporata del formato
<%= nameExp %>. Il tipo dinameExpdeve essereStringo un tipo convertibile in modo implicito in XName. Un'espressione incorporata non è consentita in un tag di chiusura di un elemento.
attributeListOpzionale. Elenco di attributi dichiarati nel valore letterale.
attribute [ attribute ... ]Ognuno
attributeha una delle sintassi seguenti:Assegnazione di attributi, del formato
[aPrefix:]aName=aValue, dove:Parte Descrizione aPrefixOpzionale. Prefisso dello spazio dei nomi XML per l'attributo . Deve essere uno spazio dei nomi XML globale definito con un'istruzione Importso uno spazio dei nomi XML locale definito in questo elemento o in un elemento padre.aNameObbligatorio. Nome dell'attributo. Il formato è uno dei seguenti:
- Testo letterale. Vedere Nomi di elementi e attributi XML dichiarati.
- Espressione incorporata del formato<%= aNameExp %>. Il tipo diaNameExpdeve essereStringo un tipo convertibile in modo implicito in XName.aValueOpzionale. Valore dell'attributo. Il formato è uno dei seguenti:
- Testo letterale, racchiuso tra virgolette.
- Espressione incorporata del formato<%= aValueExp %>. È consentito qualsiasi tipo.Espressione incorporata del formato
<%= aExp %>.
/>Opzionale. Indica che l'elemento è un elemento vuoto, senza contenuto.
>Obbligatorio. Termina il tag di elemento iniziale o vuoto.
elementContentsOpzionale. Contenuto dell'elemento.
content [ content ... ]Ognuno
contentpuò essere uno dei seguenti:Testo letterale. Tutti gli spazi vuoti in
elementContentsdiventano significativi se è presente un testo letterale.Espressione incorporata del formato
<%= contentExp %>.Valore letterale elemento XML.
Valore letterale commento XML. Vedere Valore letterale commento XML.
Valore letterale istruzione di elaborazione XML. Vedere Valore letterale istruzione di elaborazione XML.
Valore letterale CDATA XML. Vedere Valore letterale CDATA XML.
</[name]>Opzionale. Rappresenta il tag di chiusura per l'elemento . Il parametro facoltativo non è consentito
namequando è il risultato di un'espressione incorporata.
Valore restituito
Oggetto XElement .
Osservazioni:
È possibile usare la sintassi del valore letterale elemento XML per creare XElement oggetti nel codice.
Annotazioni
Un valore letterale XML può estendersi su più righe senza usare caratteri di continuazione di riga. Questa funzionalità consente di copiare il contenuto da un documento XML e incollarlo direttamente in un programma Visual Basic.
Le espressioni incorporate del modulo <%= exp %> consentono di aggiungere informazioni dinamiche a un valore letterale elemento XML. Per altre informazioni, vedere Espressioni incorporate in XML.
Il compilatore Visual Basic converte il valore letterale dell'elemento XML in chiamate al XElement costruttore e, se necessario, il XAttribute costruttore.
Spazi dei nomi XML
I prefissi dello spazio dei nomi XML sono utili quando è necessario creare valori letterali XML con elementi dello stesso spazio dei nomi più volte nel codice. È possibile usare prefissi dello spazio dei nomi XML globali, definiti usando l'istruzione Imports o i prefissi locali, definiti tramite la sintassi dell'attributo xmlns:xmlPrefix="xmlNamespace" . Per altre informazioni, vedere Istruzione Imports (spazio dei nomi XML).
In base alle regole di ambito per gli spazi dei nomi XML, i prefissi locali hanno la precedenza sui prefissi globali. Tuttavia, se un valore letterale XML definisce uno spazio dei nomi XML, tale spazio dei nomi non è disponibile per le espressioni visualizzate in un'espressione incorporata. L'espressione incorporata può accedere solo allo spazio dei nomi XML globale.
Il compilatore Visual Basic converte ogni spazio dei nomi XML globale utilizzato da un valore letterale XML in una definizione di spazio dei nomi locale nel codice generato. Gli spazi dei nomi XML globali non utilizzati non vengono visualizzati nel codice generato.
Esempio 1
Nell'esempio seguente viene illustrato come creare un semplice elemento XML con due elementi vuoti annidati.
Dim test1 As XElement =
<outer>
<inner1></inner1>
<inner2/>
</outer>
Console.WriteLine(test1)
Nell'esempio viene visualizzato il testo seguente. Si noti che il valore letterale mantiene la struttura degli elementi vuoti.
<outer>
<inner1></inner1>
<inner2 />
</outer>
Esempio 2
Nell'esempio seguente viene illustrato come usare espressioni incorporate per denominare un elemento e creare attributi.
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)
Questo codice visualizza il testo seguente:
<book isbn="1234" author="My Author" year="1999" title="My Book" />
Esempio 3
Nell'esempio seguente viene ns dichiarato come prefisso dello spazio dei nomi XML. Usa quindi il prefisso dello spazio dei nomi per creare un valore letterale XML e visualizza il modulo finale dell'elemento.
' 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
Questo codice visualizza il testo seguente:
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Si noti che il compilatore ha convertito il prefisso dello spazio dei nomi XML globale in una definizione di prefisso per lo spazio dei nomi XML. L'elemento <ns:middle> ridefinisce il prefisso dello spazio dei nomi XML per l'elemento <ns:inner1> . Tuttavia, l'elemento <ns:inner2> usa lo spazio dei nomi definito dall'istruzione Imports .