Partilhar via


Visão geral do literais XML (Visual Basic)

Um literal XML permite que você incorpore XML diretamente no seu Visual Basic código. A sintaxe do literal XML representa LINQ to XML objetos e é semelhante à sintaxe XML 1.0. Isso torna mais fácil criar documentos e elementos XML programaticamente porque seu código possui a mesma estrutura que o XML final.

Visual Basiccompila literais XML no LINQ to XML objetos.LINQ to XMLFornece um modelo de objeto simples para criar e manipular XML e esse modelo se integra bem com LINQ (Consulta Integrada à Linguagem).Para obter mais informações, consulte XElement.

Você pode incorporar uma expressão Visual Basic em um literal XML.Em tempo de execução, seu aplicativo cria um objeto LINQ to XML para cada literal, incorporando os valores das expressões incorporadas.Isso permite que você especifique conteúdo dinâmico dentro um literal XML.Para obter mais informações, consulte Expressões incorporadas em XML (Visual Basic).

Para obter mais informações sobre as diferenças entre a sintaxe de literais XML e a sintaxe XML 1.0, consulte XML literais e o XML 1.0 especificação (Visual Basic).

Literais simples

Você pode criar um objeto LINQ to XML no seu código Visual Basic digitando ou colando XML válido.Um literal de elemento XML retorna um objeto XElement.Para obter mais informações, consulte Literal do elemento XML (Visual Basic) e XML literais e o XML 1.0 especificação (Visual Basic).O exemplo a seguir cria um elemento XML que tem vários elementos filhos.

Dim contact1 As XElement = 
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Você pode criar um documento XML iniciando um literal XML com <?xml version="1.0"?>, conforme mostrado no exemplo o seguir.Um documento XML retorna um objeto XDocument.Para obter mais informações, consulte Literal de documento XML (Visual Basic).

Dim contactDoc As XDocument = 
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>
ObservaçãoObservação

A sintaxe de literais XML em Visual Basic não é idêntica à sintaxe na especificação XML 1.0.Para obter mais informações, consulte XML literais e o XML 1.0 especificação (Visual Basic).

Continuação de linha

Um literal XML pode abranger várias linhas sem usar caracteres de continuação de linha (a sequência de espaço-sublinhado-enter).Isso facilita a comparar literais XML no código com documentos XML.

O compilador trata caracteres de continuação de linha como parte de um literal XML.Portanto, você deve usar a sequência de espaço-sublinhado-enter apenas quando ele pertence no objeto LINQ to XML.

No entanto,você precisa de caracteres de continuação de linha se você tiver uma expressão de várias linhas em uma expressão incorporada.Para obter mais informações, consulte Expressões incorporadas em XML (Visual Basic).

Incorporando consultas em literais XML

Você pode usar uma consulta em uma expressão incorporada.Quando você fizer isso, os elementos retornados pela consulta são adicionados ao elemento XML.Isso permite que você adicione conteúdo dinâmico, como o resultado da consulta de um usuário, num literal XML.

Por exemplo, o código a seguir usa uma consulta incorporada para criar elementos XML a partir dos membros da matriz phoneNumbers2 e, em seguida, adiciona esses elementos como filhos do contact2.

Public Class XmlSamples

  Public Sub Main()
    ' Initialize the objects. 

    Dim phoneNumbers2 As Phone() = { 
        New Phone("home", "206-555-0144"), 
        New Phone("work", "425-555-0145")}

    ' Convert the data contained in phoneNumbers2 to XML. 

    Dim contact2 = 
        <contact>
          <name>Patrick Hines</name>
          <%= From p In phoneNumbers2 
            Select <phone type=<%= p.Type %>><%= p.Number %></phone> 
          %>
        </contact>

    Console.WriteLine(contact2)
  End Sub

End Class

Class Phone
  Public Type As String
  Public Number As String
  Public Sub New(ByVal t As String, ByVal n As String)
    Type = t
    Number = n
  End Sub
End Class

Como o compilador cria objetos de XML literais

O compilador Visual Basic converte literais XML em chamadas para os construtores LINQ to XML equivalentes para criar o objeto LINQ to XML.Por exemplo, o compilador Visual Basic converterá o seguinte exemplo de código em uma chamada para o construtor XProcessingInstruction para a instrução da versão XML, chamadas para o construtorXElement para o <contact>,<name> e elementos <phone>, e chamadas para o construtor XAttribute para o atributo type.Especificamente, dados os atributos no exemplo a seguir, o compilador Visual Basic chamará o construtor XAttribute(XName, Object) duas vezes.O primeiro irá passar o valor type para o parâmetro name e o valor home para o parâmetro value.Segundo irá passar o valor type para o parâmetro name e o valor work para o parâmetro value.

Dim contactDoc As XDocument = 
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Consulte também

Referência

Literal de documento XML (Visual Basic)

Literal do elemento XML (Visual Basic)

XElement

Conceitos

Expressões incorporadas em XML (Visual Basic)

Outros recursos

Criando XML no Visual Basic

Literais XML (Visual Basic)