Gerar xml em C#

XML (eXtensible Markup Language) é uma linguagem de marcação amplamente utilizada em aplicações e sistemas para armazenar, transmitir e trocar dados estruturados. No universo das aplicações web, o XML é um formato popular para o intercâmbio de dados entre servidores e clientes. Neste artigo, vamos mostrar como criar um arquivo XML em C#.

Para gerar um arquivo XML em C#, vamos usar a classe XmlWriter, que permite criar um documento XML com facilidade. Primeiramente, vamos criar um método que recebe uma lista de objetos e gera um arquivo XML a partir desses objetos.


public void GerarXml(List pessoas, string caminhoArquivo)
{
    using (var writer = XmlWriter.Create(caminhoArquivo))
    {
        writer.WriteStartDocument();
        writer.WriteStartElement("pessoas");
        foreach (var pessoa in pessoas)
        {
            writer.WriteStartElement("pessoa");
            writer.WriteElementString("nome", pessoa.Nome);
            writer.WriteElementString("idade", pessoa.Idade.ToString());
            writer.WriteEndElement();
        }
        writer.WriteEndElement();
        writer.WriteEndDocument();
    }
}

O método GerarXml recebe uma lista de objetos do tipo Pessoa e um caminho para o arquivo que será gerado. O método usa um XmlWriter para escrever os dados no arquivo.

O método começa chamando XmlWriter.Create para criar uma nova instância do XmlWriter. Em seguida, chama WriteStartDocument para escrever o cabeçalho do documento XML. Depois disso, o método escreve o elemento raiz do documento chamado pessoas usando o método WriteStartElement.

A seguir, o método itera sobre a lista de pessoas e escreve cada pessoa como um elemento pessoa. Cada pessoa tem dois elementos filhos, nome e idade, que são escritos usando WriteElementString.

Por fim, o método chama WriteEndElement para fechar o elemento pessoa e pessoas. Finalmente, o método chama WriteEndDocument para finalizar o documento.

Para usar o método GerarXml, basta criar uma lista de objetos Pessoa e chamar o método passando essa lista e o caminho para o arquivo que será gerado


var pessoas = new List
{
    new Pessoa { Nome = "Alice", Idade = 30 },
    new Pessoa { Nome = "Bob", Idade = 40 },
    new Pessoa { Nome = "Charlie", Idade = 50 }
};

GerarXml(pessoas, "pessoas.xml");

Esse código cria uma lista de três objetos Pessoa e chama o método GerarXml, passando essa lista e o caminho do arquivo pessoas.xml.

O arquivo pessoas.xml gerado pelo método GerarXml terá o seguinte conteúdo:


<pessoas>
  <pessoa>
    <nome>Alice</nome>
    <idade>30</idade>
  </pessoa>
  <pessoa>
    <nome>Bob</nome>
    <idade>40</idade>
  </pessoa>
  <pessoa>
    <nome>Charlie</nome>
    <idade>50</idade>
  </pessoa>
</pessoas>

Comentários

Postagens mais visitadas deste blog

Funcão SQL para abreviar nomes

Função em JavaScript para consulta de CEP com retorno em XML ou Json