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 :

XML - C++ - Conservation des données précédentes


Sujet :

C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2016
    Messages : 103
    Par défaut XML - C++ - Conservation des données précédentes
    Bonjour à tous,

    j'ai un problème que je qualifierais de trivial; cependant je ne trouve pas la solution.

    A chaque nouveau tour de boucle je désire créer un nouveau fichier XML avec des données différentes.

    Cependant, le nouveau fichier créé garde en mémoire les anciennes données et ainsi de suite.

    Voici le code en question. Et merci d'avance de votre aide.

    Bien à vous,

    KM.

    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
    if(choixEtapeDeDemarrageDeScenario->ItemIndex)
    {
        //create the xml to correspond of a step of the prodcution//
        // TiXmlDocument etapeIntermediaire;
     
        for(size_t i =  choixEtapeDeDemarrageDeScenario->ItemIndex ; i < choixEtapeDeDemarrageDeScenario->Items->Count ; i++)
        {
            //yze//
     
            //create the xml to correspond of a step of the prodcution//
            TiXmlDocument * etapeIntermediaire = new TiXmlDocument;
            TiXmlDeclaration * stepOfScnenario = new TiXmlDeclaration("1.0", "ISO-8859-1", "yes");
            etapeIntermediaire->LinkEndChild(stepOfScnenario);
            TiXmlElement * root = etapeIntermediaire->RootElement();
            const char * conf = "CONFIG";
            TiXmlElement * config = new TiXmlElement(conf);
            etapeIntermediaire->LinkEndChild(config);
            TiXmlElement * scne = new TiXmlElement("SCENARIO");
            config->LinkEndChild(scne);
     
            scne->SetAttribute("ID", AnsiString(PathManager::stepValueIDTemp[choixEtapeDeDemarrageDeScenario->ItemIndex]).c_str());
     
            TiXmlElement * duration = new TiXmlElement("DUREE");
            scne->LinkEndChild(duration);
     
            for(size_t i =  choixEtapeDeDemarrageDeScenario->ItemIndex ; i < PathManager::stepValueIDTemp.size() ; i++)
            {
                if(strcmp(AnsiString(PathManager::stepValueOfScnenario[i]).c_str(), "#N/A") != 0)
                {
                     //on y ajoute les scénarios/étapes correspondantes//
                     TiXmlElement * bloc = new  TiXmlElement("BLOC");
                     duration->LinkEndChild(bloc);
                     bloc->SetAttribute("NOM",  AnsiString(PathManager::stepValueOfScnenario[i]).c_str());
                }
            }
     
            /*std::string numberOfile;
            std::ostringstream ss;
            ss << counter;
            numberOfile = ss.str();  */
            /*std::string test = "test";
            std::string fileName = test ;// +  numberOfile;
            std::string FileName = fileName + ".xml"; */
            etapeIntermediaire->SaveFile(FileName.c_str());
            delete etapeIntermediaire;
        }
     
    }

  2. #2
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Dans tes deux boucles for, tu utilises une variable "i", ça va poser problème, utilise plutôt "j" dans ta deuxième boucle.

    Vérifie que filename possède bien une valeur différente pour chacun des fichiers que tu veux enregistrer.

    Je sais pas si c'est fait exprès mais à la ligne 21 tu n'utilise pas i comme index
    Pareil ligne 26, tu recommences ta boucle, pas sur que ça soit ce que tu voulais faire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2016
    Messages : 103
    Par défaut résolu
    Merci Skeud pour tes remarques.

    Finalement la solution était toute bête.

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 03/08/2007, 10h07
  2. [MySQL] utilisé un fichier XML pour stocker des données ?
    Par italiasky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/05/2007, 11h04
  3. Formulaire, conservation des données
    Par cerede2000 dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2006, 08h17
  4. [xml] comment extraire des donnés xml
    Par Lodos dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 20/04/2006, 21h47
  5. Conserver des données d'une page à une autre...
    Par Angeldu74 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/08/2005, 14h15

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