Compartir a través de


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 del type 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>
    

Vea también