Compartilhar via


Como inserir expressões em literais XML (Visual Basic)

Você pode combinar literais do XML com expressões inseridas para criar um documento XML, um fragmento ou um elemento que contém o conteúdo criado no tempo de execução. Os exemplos a seguir demonstram como usar expressões inseridas para popular o conteúdo do elemento, atributos e nomes de elementos no tempo de execução.

A sintaxe para uma expressão inserida é <%=exp%>, que é a mesma sintaxe que o ASP.NET usa. Para obter mais informações, consulte Expressões Inseridas em XML.

Você também pode usar as APIs LINQ to XML para criar objetos LINQ to XML. Para obter mais informações, consulte XElement.

Procedimentos

Para inserir texto como conteúdo do elemento

  • O exemplo a seguir mostra como inserir o texto contido na variável contactName entre os elementos de nome de abertura e fechamento.

    Dim contactName As String = "Patrick Hines"
    Dim contact As XElement = 
      <contact>
        <name><%= contactName %></name>
      </contact>
    Console.WriteLine(contact)
    

    Esse exemplo gera a saída a seguir:

    <contact>
      <name>Patrick Hines</name>
    </contact>
    

Para inserir o texto como um valor de atributo

  • O exemplo a seguir mostra como inserir o texto contido na variável phoneType como o valor do atributo type.

    Dim phoneType As String = "home"
    Dim contact2 As XElement = 
      <contact>
        <phone type=<%= phoneType %>>206-555-0144</phone>
      </contact>
    Console.WriteLine(contact2)
    

    Esse exemplo gera a saída a seguir:

    <contact>
      <phone type="home">206-555-0144</phone>
    </contact>
    

Para inserir o texto para um nome do elemento

  • O exemplo a seguir mostra como inserir o texto contido na variável elementName como o nome de um elemento.

    Ao criar elementos usando essa técnica, você deve fechá-los com a marca </>.

    Dim elementName As String = "contact"
    Dim contact3 As XElement = 
        <<%= elementName %>>
            <name>Patrick Hines</name>
        </>
    Console.WriteLine(contact3)
    

    Esse exemplo gera a saída a seguir:

    <contact>
      <name>Patrick Hines</name>
    </contact>
    

Confira também