No artigo de hoje, vamos ver como acessar um documento XML a partir do console usando a linguagem C#.
Vamos começar criando uma aplicação do tipo Console no VS 2017 Community. Para isso:
- Clique em File-> New Project e selecione : Visual C# -> Windows Classic Desktop template =>
- Console App (.NET Framework);
- Informe o nome : CShp_XML_Console;
A seguir, vamos criar um documento XML no projeto:
- Clique em Project -> Add New Item -> Data template=> XML File
- Informe o nome : dados.xml
Depois, inclua o código abaixo no arquivo XML:
<?xml version="1.0" encoding="utf-8" ?> <Dados> <Estudante Nome="Macoratti"> <!-- Node com mesmo nome--> <Endereco>Rua Projetada 100</Endereco> <Email>macoratti@yahoo.com</Email> <Cidade>Lins</Cidade> <Estado>SP</Estado> </Estudante> <Estudante Nome="Monica"> <Email> monica@bol.com.br </Email> <Endereco>Av. XV de Novembro 200</Endereco> <Cidade>Santos</Cidade> <Estado>SP</Estado> </Estudante> <Estudante Nome="Bianca"> <Email> bibi@hotmail.com </Email> <Endereco>Rua Marconi 300</Endereco> <Cidade>Xerem</Cidade> <Estado>RJ</Estado> </Estudante> <Estudante Nome="Pedro"> <Email> pedro@bol.com.br </Email> <Endereco>Rua Peru 23</Endereco> <Cidade>Cristalina</Cidade> <Estado>GO</Estado> </Estudante> <Estudante Nome="Macoratti"> <!--Node com mesmo nome--> <Endereco>Rua Equador 98</Endereco> <Email> macoratti@yahoo.com </Email> <Cidade>Camprinas</Cidade> <Estado>SP</Estado> </Estudante> </Dados>
Agora, abra o arquivo Program.cs e inclua o seguinte namespace no arquivo : using system.xml;
Em seguida, inclua o código abaixo no método Main():
using System; using System.IO; using System.Xml; namespace CShp_XML_Console { class Program { static void Main(string[] args) { XmlTextReader reader = new XmlTextReader("../../dados.xml"); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: // O node é um elemento raiz Console.Write("<" + reader.Name); Console.WriteLine(">"); break; case XmlNodeType.Text: //Exibe o texto para cada elemento Console.WriteLine(reader.Value); break; case XmlNodeType.EndElement: //Exibe o final do elemento Console.Write("</" + reader.Name); Console.WriteLine(">"); break; } } Console.ReadLine(); } } }
Executando o projeto, iremos obter a saída exibida na figura acima com os dados do arquivo XML.
Simples, assim!