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!





