Visão geral dos literais XML (Visual Basic)

Um literalXML permite que você incorpore XML diretamente no seu código deVisual Basic . A sintaxe do literal XML representa objetos deLINQ to XML e é semelhante ao XML 1.0 sintaxe. Isso torna mais fácil para criarelementosXML e documentos por meio de programação, porque o seu código possui a mesma estrutura XMLfinal.

Visual Basiccompila os literais XML no LINQ to XML objetos. LINQ to XMLFornece um modelo de objeto de simples para criar e manipular o XMLe esse modelo se integra bem com LINQ (consulta integrada à linguagem). For more information, see XElement.

Você pode incorporar um Visual Basic a expressão em um literal XML . Em tempo de execução, o seu aplicativo cria um LINQ to XMLoobjeto para cada literal, incorporando os valores das expressões incorporadas.  Isso permite que você especifique dinâmico conteúdo dentro de um XML literal. For more information, see Expressões inseridas no XML (Visual Basic).

For more information about the differences between the XML literal syntax and the XML 1.0 syntax, see Especificação dos literais XML e do XML 1.0 (Visual Basic).

Simple Literals

Você pode criar um LINQ to XMLoobjeto no seu  Visual Basic código digitando ou colando no válidoXML. Um literal de elemento XML retorna um XElement objeto. For more information, see Literal de elemento XML (Visual Basic) and Especificação dos literais XML e do XML 1.0 (Visual Basic). The following example creates an XML element that has several child elements.

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

You can create an XML document by starting an XML literal with <?xml version="1.0"?>, as shown in the following example. An XML document literal returns an XDocument object. For more information, see 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 do literal XML no Visual Basic não é idêntica à sintaxe no XML 1.0 especificação. For more information, see Especificação dos literais XML e do XML 1.0 (Visual Basic).

Line Continuation

An XML literal can span multiple lines without using line continuation characters (the space-underscore-enter sequence). This makes it easier to compare XML literals in code with XML documents.

The compiler treats line continuation characters as part of an XML literal. Portanto, você deve usar o sublinhado de espaço--inserir sequência somente quando ele pertence a LINQ to XMLobjeto. 

However, you do need line continuation characters if you have a multiline expression in an embedded expression. For more information, see Expressões inseridas no XML (Visual Basic).

Embedding Queries in XML Literals

You can use a query in an embedded expression. When you do this, the elements returned by the query are added to the XML element. This lets you add dynamic content, such as the result of a user's query, to an XML literal.

For example, the following code uses an embedded query to create XML elements from the members of the phoneNumbers2 array and then add those elements as children of 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

How the Compiler Creates Objects from XML Literals

O Visual Basic compilador traduz os literais XML em chamadas para o equivalente a LINQ to XML construtores para intensificar o LINQ to XML objeto. Por exemplo, o Visual Basic compilador converterá o exemplo de código a seguir em uma chamada para o XProcessingInstructionchama oconstrutor para a instrução deversão do XML, o   XElementconstrutor para o <contact>, <name>, e <phone> elementos e chamadas para o XAttributeconstrutor para o typeatributo. Especificamente, recebe os atributos no exemplo a seguir, o Visual Basic compilador chamará o XAttribute(XName, Object)duas vezes noconstrutor .  The first will pass the value type for the name parameter and the value home for the value parameter. The second will also pass the value type for the name parameter, but the value work for the value parameter.

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 de elemento XML (Visual Basic)

XElement

Conceitos

Expressões inseridas no XML (Visual Basic)

Outros recursos

Criando XML em Visual Basic

Literais XML (Visual Basic)