Back-End

29 dez, 2017

C# – Acessando um documento XML a partir do console

Publicidade

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!