Partilhar via


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

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

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

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

Procedimentos

Para inserir texto como conteúdo do elemento

  • O exemplo a seguir mostra como inserir o texto contido na contactName variável 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)
    

    Este exemplo produz a seguinte saída:

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

Para inserir texto como um valor de atributo

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

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

    Este exemplo produz a seguinte saída:

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

Para inserir texto para um nome de elemento

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

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

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

    Este exemplo produz a seguinte saída:

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

Consulte também