How do I delete xml data from within the program itself?

Asked

Viewed 140 times

-1

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace Exercicios2
{
    public class Funcionario
    {
        public String CPF { get; set; }
        public DateTime BDay { get; set; }
        public DateTime DataIngresso { get; set; }
    }
    public class Ex1
    {
        string nomeArquivo = "Funcionarios.xml";
        List<Funcionario> funcionarios = new List<Funcionario>();

        public void Executar()
        {
            CarregarFuncionarios();

            int opcao = 0;
            do
            {
                Console.Clear();
                Console.WriteLine("Exercício 1 Selecionado - Empresa");
                Console.WriteLine();
                Console.WriteLine("Digite as informações dos funcionários:");
                Console.WriteLine();
                Console.WriteLine("1 - Cadastrar CPF");
                Console.WriteLine("2 - Cadastrar Data de Aniversário");
                Console.WriteLine("3 - Cadastrar Data de Ingressão Na Empresa");
                Console.WriteLine("4 - Validar Aposentadoria");
                Console.WriteLine();
                Console.WriteLine("5 - Resetar dados");
                Console.WriteLine();
                Console.WriteLine("0 - Voltar ao menu de exercícios");
                Console.WriteLine();
                Console.Write("Insira: ");

                opcao = Convert.ToInt32(Console.ReadLine());

                switch (opcao)
                {
                    case 0:
                        break;
                    case 1:
                        CadastrarCPF();
                        Console.ReadLine();
                        break;
                    case 2:
                        CadastrarDataAniversário();
                        Console.ReadLine();
                        break;
                    case 3:
                        CadastrarDataIngressãoEmpresa();
                        Console.ReadLine();
                        break;
                    case 4:
                        ValidarAposentadoria();
                        Console.ReadLine();
                        break;
                    default:
                        Console.WriteLine("Opção inválida, tecle enter e tente novamente.");
                        Console.ReadLine();
                        break;
                }
            } while (opcao != 0);
        }

        private void SalvarFuncionarios()
        {
            StreamWriter arquivo = new StreamWriter(nomeArquivo);
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Funcionario>));
            xmlSerializer.Serialize(arquivo, funcionarios);
            arquivo.Close();
        }

        private void CarregarFuncionarios()
        {
            if (File.Exists(nomeArquivo))
            {
                FileStream stream = System.IO.File.OpenRead(nomeArquivo);
                XmlSerializer serializer = new XmlSerializer(typeof(List<Funcionario>));
                funcionarios = serializer.Deserialize(stream) as List<Funcionario>;
                stream.Close();
            }
        }

        private void ValidarAposentadoria()
        {
            Console.ReadLine();
        }

        private void CadastrarDataIngressãoEmpresa()
        {
            Console.ReadLine();
        }

        private void CadastrarDataAniversário()
        {
            Console.ReadLine();
        }

        private void CadastrarCPF()
        {
            Console.ReadLine();
        }
        private void ExcluirDados()
        {
             ????
        }
    }
}

1 answer

0

Um... I think you want to remove a Functionary from the List that was obtained from XML, right? In the case:

private void ExcluirDados(Funcionario funcionario)
{   
     funcionarios.Remove(funcionario); //ou funcionarios.RemoveAt(1)
     SalvarFuncionarios(); //salva a lista inteira, sem o funcionário que foi removido acima.
}

If so, it would be something like this...

  • That helps, too, thanks. But I would like to clear the xml created after several tests in the program, since as the program is tested, various information is being thrown into xml. Basically it would delete the previously created xml from within the program menu itself.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.