Cómo: Incrustar expresiones en literales XML (Visual Basic)
Puede combinar literales XML con expresiones incrustadas para crear un documento XML, un fragmento o un elemento que contenga contenido creado en tiempo de ejecución. En los ejemplos siguientes se muestra cómo usar expresiones incrustadas para rellenar el contenido de elementos, los atributos y los nombres de elementos en tiempo de ejecución.
La sintaxis de una expresión incrustada es <%=
exp
%>
, que es la misma que la sintaxis usada en ASP.NET. Para más información, consulte Expresiones insertadas en XML.
También puede usar las API de LINQ to XML para crear objetos LINQ to XML. Para obtener más información, vea XElement.
Procedimientos
Para insertar texto como contenido de elemento
En el ejemplo siguiente se muestra cómo insertar el texto contenido en la
contactName
variable entre los elementos de nombre de apertura y cierre.Dim contactName As String = "Patrick Hines" Dim contact As XElement = <contact> <name><%= contactName %></name> </contact> Console.WriteLine(contact)
Este ejemplo produce el siguiente resultado:
<contact> <name>Patrick Hines</name> </contact>
Para insertar texto como un valor de atributo
En el ejemplo siguiente se muestra cómo insertar el texto contenido en la
phoneType
variable como valor deltype
atributo.Dim phoneType As String = "home" Dim contact2 As XElement = <contact> <phone type=<%= phoneType %>>206-555-0144</phone> </contact> Console.WriteLine(contact2)
Este ejemplo produce el siguiente resultado:
<contact> <phone type="home">206-555-0144</phone> </contact>
Para insertar texto para un nombre de elemento
En el ejemplo siguiente se muestra cómo insertar el texto contenido en la
elementName
variable como el nombre de un elemento.Al crear elementos mediante esta técnica, debe cerrarlos con la <etiqueta />.
Dim elementName As String = "contact" Dim contact3 As XElement = <<%= elementName %>> <name>Patrick Hines</name> </> Console.WriteLine(contact3)
Este ejemplo produce el siguiente resultado:
<contact> <name>Patrick Hines</name> </contact>