Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Visual Basic oferece suporte para LINQ to XML por meio de literais XML e propriedades do eixo XML. Isso permite que você use uma sintaxe familiar e conveniente para trabalhar com XML no código do Visual Basic. Literais XML permitem que você inclua XML diretamente em seu código. As propriedades do eixo XML permitem acessar nós filho, nós descendentes e atributos de um literal do XML. Para obter mais informações, consulte Visão geral de literais XML e acesso a XML no Visual Basic.
LINQ to XML é uma API de programação XML na memória projetada especificamente para aproveitar Language-Integrated Query (LINQ). Embora você possa chamar as APIs LINQ diretamente, somente o Visual Basic permite que você declare literais XML e acesse diretamente as propriedades do eixo XML.
Observação
Não há suporte para literais XML e propriedades do eixo XML no código declarativo em uma página ASP.NET. Para usar recursos XML do Visual Basic, coloque seu código em uma página code-behind em seu aplicativo ASP.NET.
Para demonstrações de vídeo relacionadas, consulte How Do I Get Started with LINQ to XML? and How Do I Create Excel Spreadsheets using LINQ to XML?.
Criando XML
Há duas maneiras de criar árvores XML no Visual Basic. Você pode declarar um literal XML diretamente no código ou pode usar as APIs LINQ para criar a árvore. Ambos os processos permitem que o código reflita a estrutura final da árvore XML. Por exemplo, o exemplo de código a seguir cria um elemento XML:
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
Para obter mais informações, consulte Criando XML no Visual Basic.
Acessando e navegando XML
O Visual Basic fornece propriedades do eixo XML para acessar e navegar em estruturas XML. Essas propriedades permitem que você acesse elementos XML e atributos especificando os nomes de elemento filho XML. Como alternativa, você pode chamar explicitamente os métodos LINQ para navegar e localizar elementos e atributos. Por exemplo, o exemplo de código a seguir usa propriedades do eixo XML para se referir aos atributos e elementos filho de um elemento XML. O exemplo de código usa uma consulta LINQ para recuperar elementos filho e gerá-los como elementos XML, executando efetivamente uma transformação.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Module Sample1
Sub SampleTransform()
' Create test by using a global XML namespace prefix.
Dim contact =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone ns:type="home">206-555-0144</ns:phone>
<ns:phone ns:type="work">425-555-0145</ns:phone>
</ns:contact>
Dim phoneTypes =
<phoneTypes>
<%= From phone In contact.<ns:phone>
Select <type><%= phone.@ns:type %></type>
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
End Sub
End Module
Para obter mais informações, consulte Acessar XML no Visual Basic.
Namespaces de XML
O Visual Basic permite que você especifique um alias para um namespace XML global usando a Imports instrução. O exemplo a seguir mostra como usar a Imports instrução para importar um namespace XML:
Imports <xmlns:ns="http://someNamespace">
Você pode usar um alias de namespace XML ao acessar propriedades do eixo XML e declarar literais XML para documentos e elementos XML.
Você pode recuperar um XNamespace objeto para um prefixo de namespace específico usando o Operador GetXmlNamespace.
Para obter mais informações, confira Instrução Imports (namespace de XML).
Usando namespaces XML em literais XML
O exemplo a seguir mostra como criar um XElement objeto que usa o namespace nsglobal:
Dim contact1 As XElement =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone type="home">206-555-0144</ns:phone>
<ns:phone type="work">425-555-0145</ns:phone>
</ns:contact>
Console.WriteLine(contact1)
O compilador do Visual Basic converte literais XML que contêm aliases de namespace XML em código equivalente que usa a notação XML para usar namespaces XML, com o xmlns atributo. Quando compilado, o código no exemplo da seção anterior produz essencialmente o mesmo código executável que o exemplo a seguir:
Dim contact2 As XElement =
<ns1:contact xmlns:ns1="http://someNamespace">
<ns1:name>Patrick Hines</ns1:name>
<ns1:phone type="home">206-555-0144</ns1:phone>
<ns1:phone type="work">425-555-0145</ns1:phone>
</ns1:contact>
Console.WriteLine(contact2)
Usando namespaces XML em propriedades do eixo XML
Namespaces XML declarados em literais XML não estão disponíveis para uso em propriedades do eixo XML. No entanto, namespaces globais podem ser usados com as propriedades do eixo XML. Use dois-pontos para separar o prefixo de namespace XML do nome do elemento local. A seguir está um exemplo:
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)