public MailData loadData(string Filepath)
        {
            MailData  data     = new MailData(true);
            XDocument file     = XDocument.Load(Filepath);
            XElement  campagne = file.Elements().First();

            data.Nom = campagne.Element("nom").Value.ToString();

            List <String> emailList = new List <string>();

            if (!(campagne.Element("mailList") is null))
            {
                foreach (String address in campagne.Element("mailList").Value.Split(' '))
                {
                    if (!String.IsNullOrEmpty(address))
                    {
                        emailList.Add(address);
                    }
                }
            }
            data.EmailList = emailList;

            object[] email = new object[3];
            email[0] = campagne.Element("email").Element("objet").Value.ToString();
            email[1] = campagne.Element("email").Element("expediteur").Value.ToString();
            email[2] = campagne.Element("email").Element("corps").Value.ToString();
            foreach (String PieceJointe in campagne.Element("email").Element("piecesJointes").Value.Split(' '))
            {
                if (!String.IsNullOrEmpty(PieceJointe))
                {
                    data.PiecesJointes.Add(PieceJointe);
                }
            }
            data.Email    = email;
            data.Filepath = Filepath;
            return(data);
        }
        public void saveData(MailData Data, String Filepath)
        {
            XDocument XMLFile;
            //Chargement du schéma
            String       Schema = File.ReadAllText("BulkMail.xsd");
            XmlSchemaSet schema = new XmlSchemaSet();

            schema.Add("", XmlReader.Create(new StringReader(Schema)));
            //Base du XML
            XElement Nom      = new XElement("nom", Data.Nom);
            XElement MailList = new XElement("mailList", Data.EmailList.Select(e => e + " "));

            //Création de l'élement Email
            XElement Objet         = new XElement("objet", Data.Email[0]);
            XElement Expediteur    = new XElement("expediteur", Data.Email[1]);
            XElement Corps         = new XElement("corps", Data.Email[2]);
            XElement PiecesJointes = new XElement("piecesJointes", Data.PiecesJointes.Select(e => e + " "));
            XElement Email         = new XElement("email", Objet, Expediteur, Corps, PiecesJointes);

            //Mise en place complète du XML
            XElement Root = new XElement("campagne", Nom, MailList, Email);

            XMLFile = new XDocument(Root);

            //On valide le schéma (normalement pas nécessaire, mais sait-on jamais)
            bool errors = false;

            XMLFile.Validate(schema, (o, e) =>
            {
                Console.WriteLine("{0}", e.Message);
                errors = true;
            });
            Console.WriteLine("{0}", errors? "did not validate" : "validated");

            XMLFile.Save(Filepath);
        }