IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

créer plusieurs fichiers xml grâce à un form lancé [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut créer plusieurs fichiers xml grâce à un form lancé
    Bonjour,

    Je découvre au fur et à mesure le c# mais là j'ai besoin de votre aide, voici mon problème.
    J'ai 2 formulaires
    Le form1 ouvre le form2
    grâce à une liste déroulante du form1 j'ouvre plusieurs onglets dans le form2
    à chaque fois que je sélectionne un élément dans la liste déroulante un onglet s'ajoute dans la form2 et je veux créé un fichier xml pour chaque clic sur un élément.
    Hors pour l'instant seul le premier clic me permet de créer mon fichier xml. Lorsque je clic à nouveau sur un élément je ne rentre pas dans la classe qui crée le fichier.xml

    J'espère que c'est compréhensible se que je raconte,
    merci de votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Bonjour,

    Alors à ce que je comprend chaque clic doit créer un fichier XML.
    Le premier le crée, le second en crée un autre et ainsi de suite...

    On ne pourra guère t'aider sans voir la classe concernée par la création du fichier XML et celle qui l'appelle

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour, dsl hier je n'ai pas vu ta réponse, voici le code que tu demandais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;
    using System.IO;
    using System.Windows.Forms;
    namespace projet
    {
        class Create_XML
        {
     
            private static Create_XML instance;
            private String cheminFichier = Launcher.filename +"\\"+"TEST.xml";
            private  XDocument document;
     
     
            private Create_XML() 
            {
                string nameFile = IncrementFileName(cheminFichier);
                System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(nameFile));
     
                try
                {
                    //MessageBox.Show(nameFile);
                    document = XDocument.Load(nameFile);
                }
                catch (FileNotFoundException )
                {
                    Initialiser();
                }
            }
     
            public static Create_XML xml
            {
                get
                {
                    if (instance == null)
                    {
                        instance = new Create_XML();
                    }
                    return instance;
                }
            }
     
            public void Initialiser()
            {
                string nameFile = IncrementFileName(cheminFichier);
                if (document == null)
                {
                    document = new XDocument(
                        new XElement("test", 
                            new XElement("row", 
                                new XElement("num" , "0"),
                                    new XElement("name","caro"),
                                        new XElement("min","1"),
                                            new XElement("max","10")
                                    )));
     
                    System.Console.WriteLine(document);
                    document.Save(nameFile);  
                }
            }
     
            /*******Incrémentation du nom du fichier XML**********/
     
            public string IncrementFileName(string filename)
            {
                if (!File.Exists(filename))
                    return filename;
                string path = System.IO.Path.GetDirectoryName(filename);
                string ext = System.IO.Path.GetExtension(filename);
                string name = System.IO.Path.GetFileName(filename).Substring(0, System.IO.Path.GetFileName(filename).Length - ext.Length);
                int count = 0;
                string newFilename;
     
                do
                {
                    count++;
                    newFilename = String.Format("{0}({1}){2}",System.IO.Path.Combine(path,name), count,ext);
     
     
                }while(File.Exists(newFilename));
                return newFilename;
            }
     
        }
    }

    Et dans mon .cs je l'appelle avec


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
            public void openWindows()
            {
               
                if (TB_chemin.Text == "")
                    MessageBox.Show("Veuillez choisir un dossier répertoire");
    
                else
                {
                    if (open == false)
                    {
                        Form Form1 = new applications();
                        Form1.Show();
                        open = true;
                    }
                    Create_XML createXml;
                    createXml = Create_XML.xml;
                }
            }
    
            private void ComboBox_Click(object sender, EventArgs e)
            {
                nameOnglet = ComboBox.Text;
                openWindows();
                Onglet_add();
            }

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Une erreur survient lors du second clic??
    Ne serait il pas plus simple de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Create_XML createXml;
    createXml = Create_XML.xml;
    Par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Create_XML create = new Create_XML();
    create.Create_XML();

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Lors d'un deuxième ajout il n'y a pas d'erreur. Mais, en utilisant le debug, on ne rentrait plus dans la classe Create_XML

    Mais ta solution niquel merci,
    donc en fait c'était pas tout a fait comme tu as dit, c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Create create = new Create_XML();
    create = Create_XML.xml;
    ça marche très bien, encore merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. créer plusieurs fichiers .xml
    Par bubulle29 dans le forum MATLAB
    Réponses: 2
    Dernier message: 11/05/2009, 09h47
  2. Créer plusieurs fichiers XML à partir d'un seul
    Par TooKool dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 15/09/2008, 09h30
  3. Réponses: 3
    Dernier message: 24/04/2007, 11h39
  4. Créer un fichier XML grâce à du PHP
    Par Melekitto dans le forum Langage
    Réponses: 1
    Dernier message: 01/06/2006, 19h51
  5. [DOM] Créer un fichier XML sous une forme bien précise
    Par LaseLiep dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 09/06/2005, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo