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

-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()
        {
             ????
        }
    }
}
    
asked by anonymous 01.04.2018 / 22:14

1 answer

0

Hmm ... I think you want to remove a list employee that was fetched from XML, right? In 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 this is it, it would be something like this ...

    
02.04.2018 / 00:57