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

Discussion :

insérer dans fichier xml

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut insérer dans fichier xml
    Bonsoir,

    Quand j'exécute mon programme, ce dernier remplace tout dans le fichier xml( je n'ai pas réussi à adapter le code de la fac même après l'avoir compris... ), alors que je souhaiterais qu'il ajoute à la fin ou au début du fichier les nouvelles données.

    voici mon xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" ?>
    <Utilisateurs>
    	<Utilisateur>
            	<Login>a</Login>
    	        <Password>a</Password>
    	</Utilisateur>
    	<Utilisateur>	
            	<Login>b</Login>
            	<Password>b</Password>
    	</Utilisateur>
    </Utilisateurs>
    et mon code:
    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
     
    void FenetreConnect::InscriptionXML(QString strLogin,QString strPwd)
    {
     
        QFile file( "user.xml" );
        file.open(QIODevice::WriteOnly);
     
        QDomDocument doc;
        doc.setContent(&file, false);
     
        QDomElement racine = doc.documentElement();
     
        QDomElement Utilisateur = doc.createElement("Utilisateur");
        racine.appendChild(Utilisateur);
     
        QDomElement Login = doc.createElement("Login");
        Utilisateur.appendChild(Login);
        QDomText DomLogin = doc.createTextNode(strLogin);
        Login.appendChild(DomLogin);
     
        QDomElement Pwd = doc.createElement("Password");
        Utilisateur.appendChild(Pwd);
        QDomText DomPwd = doc.createTextNode(strPwd);
        Pwd.appendChild(DomPwd);
     
        doc.insertBefore(Utilisateur,racine);
     
        QTextStream ts( &file );
        doc.save(ts, indent);
     
        file.close();
     
    }
    Je pense que mon erreur viens de la sauvegarde car j'ai bien une insertion correct des paramètres mais un écrasement des données au lieu d'une insertion, si quelqu'un connait la fonction/méthode à suivre?

    Merci.

  2. #2
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Je n'ai pas bien compris mais si tu souhaite ajouter des données en fin de fichier il te faut utiliser QIODevice::Append.
    [EDIT]Mauvaise compréhension de ma part [/EDIT]

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    Oui, ce que j'aimerai c'est qu'après l'utilisateur "b" j'en ai un nouveau avec par exemple login "c" et password "c".
    Ma fonction sera utilisé dans le but d'enregistrer des personnes, si elle souhaite s'inscrire elle rentre son login et son mot de passe dans une fenêtre qui s'affiche et après cette fonction les rentre dans mon fichier xml

    je me renseigne sur ta fonction.

  4. #4
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Qu'obtient tu avec ton programme ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0" ?>
    <Utilisateurs>
        <Utilisateur>
                <Login>c</Login>
                <Password>c</Password>
        </Utilisateur>
    </Utilisateurs>
    Ce résultat ?

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    - <Utilisateur>
           <Login>c</Login> 
           <Password>c</Password> 
      </Utilisateur>
    [EDIT]
    J'ai tenté avec "append", mais la il n'enregistre aucune modification dans le code, il garde le fichier xml à l'identique

  6. #6
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine.appendChild(Utilisateur);
    Il te faut utiliser insertAfter a la place de appendChild ici.
    J'ai constaté d'autres erreurs de fonctions dans le reste de ton code où tu as inversé appendChild et insertAfter/Before.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/11/2010, 14h54
  2. Balise html dans fichier XML
    Par pierrox dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 19/09/2005, 09h20
  3. [XML] Incorporation de balises HTML dans fichier XML
    Par wazzzzza dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 26/07/2005, 14h17
  4. [JDOM] Ajout élément dans fichier XML
    Par delinot dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 18/07/2005, 11h10
  5. Pb de balises dans fichier XML
    Par allstar dans le forum XMLRAD
    Réponses: 2
    Dernier message: 10/06/2005, 13h59

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