Compartilhar via


Visão geral de literais XML

An Literal XML permite incorporar o XML diretamente no seu Visual Basic código. A sintaxe do literal XML representa LINQ to XML objetos e é o semelhante à sintaxe XML 1.0. Isso torna mais fácil de criar elementos XML e documentos por meio de programação sistema autônomo seu código possui a mesma estrutura XML final.

Visual Basic compila literais em LINQ to XML objetos. LINQ to XML Fornece um modelo de objeto simples para criar e manipular XML e esse modelo se integra bem 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 incorporados no XML.

Para obter mais informações sobre as diferenças entre a sintaxe de literais XML e a sintaxe XML 1.0, consulte Especificação dos Literais XML e do XML 1.0.

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 Elemento Literal XML e Especificação dos Literais XML e do XML 1.0.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.

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ção:

A sintaxe do literal XML no Visual Basic não é idêntica à sintaxe na especificação XML 1.0. Para obter mais informações, consulte Especificação dos Literais XML e do XML 1.0.

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 incorporados no XML.

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

Conceitos

Expressões incorporados no XML

Referência

Literal de documento XML

Elemento Literal XML

XElement

Outros recursos

Criando XML em Visual Basic

Literais XML