Valore letterale Element XML
Aggiornamento: novembre 2007
Valore letterale che rappresenta un oggetto XElement.
<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>
Parti
<
Obbligatorio. Apre il tag elemento iniziale.name
Obbligatorio. Nome dell'elemento. Il formato è uno dei seguenti:Testo letterale per il nome dell'elemento, con il seguente formato [ePrefix:]eName, dove:
Part
Descrizione
ePrefix
Facoltativo. Prefisso del lo spazio dei nomi XML per l'elemento . Deve essere un spazio dei nomi XML globale definito con un'istruzione Imports nel file o al livello del progetto, oppure un spazio dei nomi XML locale definito in questo elemento o in un elemento padre.
eName
Obbligatorio. Nome dell'elemento. Il formato è uno dei seguenti:
Testo letterale. Vedere Nomi dichiarati di elementi e attributi XML.
Espressione incorporata del formato <%= e NameExp %>. Il tipo di eNameExp deve essere String oppure un tipo convertibile in modo implicito in XName.
Espressione incorporata del formato <%= e nameExp %>. Il tipo di nameExp deve essere String oppure un tipo convertibile in modo implicito in XName. Un'espressione incorporata non è consentita in un tag di chiusura di un elemento.
attributeList
Facoltativo. Elenco degli attributi dichiarati nel valore letterale.attribute [ attribute ... ]
Ogni attribute ha una delle seguenti sintassi:
Assegnazione di attributo, nel formato [aPrefix:]aName=aValue, dove:
Part
Descrizione
aPrefix
Facoltativo. Prefisso dello spazio dei nomi XML per l'attributo. Deve essere un spazio dei nomi XML globale definito con un'istruzione Imports, oppure un spazio dei nomi XML locale definito in questo elemento o in un elemento padre.
aName
Obbligatorio. Nome dell'attributo. Il formato è uno dei seguenti:
Testo letterale. Vedere Nomi dichiarati di elementi e attributi XML.
Espressione incorporata del formato <%= e aNameExp %>. Il tipo di aNameExp deve essere String oppure un tipo convertibile in modo implicito in XName.
aValue
Facoltativo. Valore dell'attributo. Il formato è uno dei seguenti:
Testo letterale, racchiuso tra virgolette.
Espressione incorporata del formato <%= e aValueExp %>. È consentito qualsiasi tipo.
Espressione incorporata del formato <%= e aExp %>.
/>
Facoltativo. Indica che l'elemento è un elemento vuoto, senza contenuto.>
Obbligatorio. Conclude il tag iniziale o dell'elemento vuoto.elementContents
Facoltativo. Contenuto dell'elemento.content [ content ... ]
Ogni content può essere uno dei seguenti:
Testo letterale. Tutti gli spazi vuoti in elementContents diventano significativi se è presente un qualsiasi testo letterale.
Espressione incorporata del formato <%= e contentExp %>.
Valore letterale di un elemento XML
Valore letterale di commento XML Vedere Valore letterale di 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]>
Facoltativo. Rappresenta il tag di chiusura dell'elemento. Il parametro facoltativo name non è consentito quando è il risultato di un'espressione incorporata.
Valore restituito
Un oggetto XElement.
Note
È possibile utilizzare la sintassi del valore letterale di un elemento XML per creare oggetti XElement nel codice.
Nota: |
---|
Un valore letterale XML può occupare più righe senza utilizzare caratteri di continuazione di riga. Questa funzionalità permette di copiare il contenuto da un documento XML e incollarlo direttamente in un programma Visual Basic. |
Le espressioni incorporate in formato <%=exp%>consentono di aggiungere informazioni dinamiche a un valore letterale di un elemento XML. Per ulteriori informazioni, vedere Espressioni incorporate in XML.
Il compilatore Visual Basic converte il valore letterale di un elemento XML in chiamate al costruttore XElement e, se necessario, al costruttore XAttribute.
Spazi dei nomi XML
I prefissi dello spazio dei nomi XML sono utili quando è necessario creare ripetutamente nel codice valori letterali XML con elementi dallo stesso spazio dei nomi. È possibile utilizzare i prefissi dello spazio dei nomi XML globali che si definiscono utilizzando l'istruzione Imports oppure i prefissi locali che si definiscono utilizzando la sintassi dell'attributo xmlns:xmlPrefix= "xmlNamespace". Per ulteriori informazioni, vedere Istruzione Imports (tipo e spazio dei nomi .NET).
In base alle regole di ambito per gli spazi dei nomi XML, i prefissi locali hanno precedenza sui prefissi globali. Tuttavia, se un valore letterale XML definisce uno spazio dei nomi XML, tale spazio dei nomi non è disponibile per espressioni incluse 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 dello spazio dei nomi locale nel codice generato. Gli spazi dei nomi XML globali che non vengono utilizzati non vengono inclusi nel codice generato.
Esempio
Nell'esempio seguente viene illustrato come creare un semplice elemento XML che ha due elementi vuoti nidificati.
Dim test1 As XElement = _
<outer>
<inner1></inner1>
<inner2/>
</outer>
Console.WriteLine(test1)
Nell'esempio viene visualizzato il seguente testo. Il valore letterale mantiene la struttura degli elementi vuoti.
<outer>
<inner1></inner1>
<inner2 />
</outer>
Nell'esempio seguente viene mostrato come utilizzare le espressioni incorporate per denominare un elemento e creare attributi.
Dim elementType As String = "book"
Dim attributeName1 As String = "year"
Dim attributeValue1 As Integer = 1999
Dim attributeName2 As String = "title"
Dim attributeValue2 As String = "My Book"
Dim book As XElement = _
<<%= elementType %>
isbn="1234"
<%= attributeName1 %>=<%= attributeValue1 %>
<%= New XAttribute(attributeName2, attributeValue2) %>
/>
Console.WriteLine(book)
Verrà visualizzato il seguente testo:
<book isbn="1234" year="1999" title="My Book" />
Nell'esempio riportato di seguito viene dichiarato ns come un prefisso dello spazio dei nomi XML. Viene quindi creato un valore letterale XML utilizzando il prefisso dello spazio dei nomi e visualizzato il formato 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
Verrà visualizzato il seguente testo:
<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 converte il prefisso dello spazio dei nomi XML globale in una definizione del 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> utilizza lo spazio dei nomi definito dall'istruzione Imports.
Vedere anche
Concetti
Nomi dichiarati di elementi e attributi XML
Espressioni incorporate in XML
Riferimenti
Valore letterale di commento XML
Istruzione Imports (tipo e spazio dei nomi .NET)