Desenvolvimento - C#

Criando arquivo XML com Linq To XML

No artigo o autor apresenta a tecnologia Linq to xml e ensina gerar arquivos.

por Emerson Jose



Vamos abordar nesse artigo como trabalhar com arquivos XML utilizando Linq To XML, lembro a dificuldade que tinha para gerar esse tipo de arquivo.

Graças ao Linq To XML, fez economizar inúmeras linhas e também facilitou muito a abstração das informações existentes no arquivo, tema do próximo artigo.

                No primeiro artigo dessa série sobre Linq To XML, vamos aprender como gerar arquivos XML, abaixo vou mostrar a estrutura proposta que vamos criar.

    <item>

                <pessoa name=”Emerson” idade=”20” />         

                <pessoa name=”Angelica” idade=”21”  />         

     </item>

Para gerar a estrutura a cima, vamos utilizar o seguinte código.

public void GerarXML()

{

   XDocument newXDoc = new XDocument();

   Dictionary<string, int> elementos = new Dictionary<string, int>();

   elementos.Add("Emerson", 20);

   elementos.Add("Angelica", 21);

   newXDoc.Add(NewElement(elementos));

   newXDoc.Save("@D:\\DataTeste.xml");

}

public static XElement NewElement(IDictionary<string, int> param)

{

     XElement items = new XElement("item");

     foreach (var c in param)

     {

            items.Add(new XElement("pessoa",

                      new XAttribute("name", c.Key),

                      new XAttribute("idade", c.Value.ToString())

                      ));

      }

 return items;

}

Definição: No exemplo acima, instanciamos um objeto do tipo XDocument e criamos uma nova instancia desse objeto “newXDoc “.

Após isso instanciamos objeto Dictionary que tem Key sendo string e Value um inteiro, vamos adicionar as pessoas nesse objeto e chamar newXDoc invocando o método Add,

Adicionando dentro o método “NewElement recebendo como parâmetro Dictionary.

                Quando invocado o método, nos criamos um objeto XElement com nome de item e fazemos um foreach varrendo dictionary  e adicionando novos XElement no item retornando nossa estrutura pronta para ser salva.

Invocando método save do newXdoc, passando o diretório e nome que deseja salvar esse arquivo, quando executado é gerado um arquivo XML com a seguinte estrutura.

<?xml version="1.0" encoding="utf-8"?>

<item>

  <pessoa name="Emerson" idade="20" />

  <pessoa name="Angelica" idade="21" />

</item>

Pessoal, espero que tenham gostado e não deixem de visitar Programming in Csharp sempre com novas dicas.

Emerson Jose

Emerson Jose - Analista Programador Jr. em ASP.NET na linguagem c#, trabalha na linguagem a um ano e meio desenvolvendo artigos para seu blog http://programmingcsharp.wordpress.com e trabalha em uma consultoria na região de São Paulo.