Vamos aborda 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 serie sobre Linq To XML, vamos aprender como gerar arquivos XML, abaixo vou mostrar a estrutura proposta que vamos criar.

<item>

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

  <pessoa name="Pessoa2" 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="Pessoa1" idade="20" />

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

</item>

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

Vamos aborda 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 serie sobre Linq To XML, vamos aprender como gerar arquivos XML, abaixo vou mostrar a estrutura proposta que vamos criar.

<item>

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

  <pessoa name="Pessoa2" 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="Pessoa1" idade="20" />
  <pessoa name="Pessoa2" idade="21" />
</item>

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