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çã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)
Conceitos
Expressões incorporadas em XML (Visual Basic)