Procedura: incorporare espressioni nei valori letterali XML (Visual Basic)
È possibile combinare valori letterali XML con espressioni incorporate per creare un documento, un frammento o un elemento XML contenente il contenuto creato in fase di esecuzione. Negli esempi seguenti viene illustrato come usare espressioni incorporate per popolare il contenuto degli elementi, gli attributi e i nomi degli elementi in fase di esecuzione.
La sintassi per un'espressione incorporata è <%=
exp
%>
, che corrisponde alla stessa sintassi usata da ASP.NET. Per altre informazioni, vedere Espressioni incorporate in XML.
È anche possibile usare le API LINQ to XML per creare oggetti LINQ to XML. Per ulteriori informazioni, vedere XElement.
Procedure
Per inserire testo come contenuto dell'elemento
Nell'esempio seguente viene illustrato come inserire il testo contenuto nella variabile
contactName
tra gli elementi del nome di apertura e chiusura.Dim contactName As String = "Patrick Hines" Dim contact As XElement = <contact> <name><%= contactName %></name> </contact> Console.WriteLine(contact)
Nell'esempio viene prodotto l'output seguente:
<contact> <name>Patrick Hines</name> </contact>
Per inserire testo come valore dell'attributo
Nell'esempio seguente viene illustrato come inserire il testo contenuto nella variabile
phoneType
come valore dell'attributotype
.Dim phoneType As String = "home" Dim contact2 As XElement = <contact> <phone type=<%= phoneType %>>206-555-0144</phone> </contact> Console.WriteLine(contact2)
Nell'esempio viene prodotto l'output seguente:
<contact> <phone type="home">206-555-0144</phone> </contact>
Per inserire testo per un nome di elemento
Nell'esempio seguente viene illustrato come inserire il testo contenuto nella variabile
elementName
come nome di un elemento.Quando si creano elementi usando questa tecnica, è necessario chiuderli con il tag </>.
Dim elementName As String = "contact" Dim contact3 As XElement = <<%= elementName %>> <name>Patrick Hines</name> </> Console.WriteLine(contact3)
Nell'esempio viene prodotto l'output seguente:
<contact> <name>Patrick Hines</name> </contact>