Écriture d'un Xml [Résolu]

Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
- - Dernière réponse : NHenry
Messages postés
14569
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
- 30 juin 2011 à 21:40
Bonjours je travail présentement sur un petit project pour un amis et je rencontre un problème , et oui.. encore , celui ci est le suivant , je me sert dun fichier XML pour sauvarger des informations de la form (Textbox1 Textbox2 ect..) parconte je ne sais point comment écrire plus d'une ligne dans un XML , Voici le code que j'utilise :

   Dim Doc As New XmlDocument

            Dim mElement As XmlElement

            mElement = Doc.CreateElement("Root")

            Doc.AppendChild(mElement)

            Dim xmldecl As XmlDeclaration
            xmldecl = Doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
            Doc.InsertBefore(xmldecl, Doc.DocumentElement)

            Doc.Save("c:\UploadLabSettings.xml")


            'Temp.xml sera creer et contiendra juste le minimum pour ensuite ecrire ce que l'on veut dedans

            '<?xml version="1.0"?>
            '<Root/>

            'pour le reste il vous suffit de faire 

            mElement = Doc.CreateElement("Remember")
            mElement.InnerText = "yes"



            Doc.DocumentElement.AppendChild(mElement)
            Doc.Save("c:\UploadLabSettings.xml")


Quelqun a une idée comment faire pour ajouté plus qu'une ligne ?? Dans l'exemple ci dessu on peut voir clairement qu'on écrit dans le fichier XML <Remember>yes</Remember> , j'aimerais pouvoir mettre <Remember2>AutreText</Remember2> en dessou de celui ci. J'espere avoir été clair Et pardonez moi encore une fois pour mes faute de francais
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
14569
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
3
Merci
Bonjour,

Je ne comlprend pas pourquoi le fichier reste ouvert.

Sinon :
If CheckBox1.Checked = True Then
...
End IF
If CheckBox1.Checked = False Then
...
End If

Pet être remplacé par :
If CheckBox1.Checked Then
...
Else
...
End If

Avec ProcessExplorer ou équivalent pour voir si c'est ton programme qui bloque le fichier ou si c'est un AV par exemple ?

Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14569
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
0
Merci
Bonjour,

Après
mElement = Doc.CreateElement("Remember")
mElement.InnerText = "yes"
Doc.DocumentElement.AppendChild(mElement)
Tu mets :
mElement = Doc.CreateElement("Remember2")
mElement.InnerText = "AutreText"
Doc.DocumentElement.AppendChild(mElement)


Mon site
Commenter la réponse de NHenry
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
0
Merci
un gros merci a toi NHenry... je croyais que c'étai plus compliquer que sa
Commenter la réponse de rsx602
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
0
Merci
        If CheckBox1.Checked = True Then
            Dim Doc As New XmlDocument

            Dim mElement As XmlElement

            mElement = Doc.CreateElement("Root")

            Doc.AppendChild(mElement)

            Dim xmldecl As XmlDeclaration
            xmldecl = Doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
            Doc.InsertBefore(xmldecl, Doc.DocumentElement)

            Doc.Save("c:\UploadLabSettings.xml")


            'Temp.xml sera creer et contiendra juste le minimum pour ensuite ecrire ce que l'on veut dedans

            '<?xml version="1.0"?>
            '<Root/>

            'pour le reste il vous suffit de faire 

            mElement = Doc.CreateElement("Remember")
            mElement.InnerText = "yes"
            Doc.DocumentElement.AppendChild(mElement)
            mElement = Doc.CreateElement("Account")
            mElement.InnerText = TextBox1.Text
            Doc.DocumentElement.AppendChild(mElement)
            mElement = Doc.CreateElement("Pass")
            mElement.InnerText = TextBox2.Text
            Doc.DocumentElement.AppendChild(mElement)



            Doc.DocumentElement.AppendChild(mElement)
            Doc.Save("c:\UploadLabSettings.xml")


        End If

        If CheckBox1.Checked = False Then

            Dim Doc As New XmlDocument

            Dim mElement As XmlElement

            mElement = Doc.CreateElement("Root")

            Doc.AppendChild(mElement)

            Dim xmldecl As XmlDeclaration
            xmldecl = Doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
            Doc.InsertBefore(xmldecl, Doc.DocumentElement)


            Doc.Save("c:\UploadLabSettings.xml")


            'Temp.xml sera creer et contiendra juste le minimum pour ensuite ecrire ce que l'on veut dedans

            '<?xml version="1.0"?>
            '<Root/>

            'pour le reste il vous suffit de faire 

            mElement = Doc.CreateElement("Remember")
            mElement.InnerText = "no"


            Doc.DocumentElement.AppendChild(mElement)
            Doc.Save("c:\UploadLabSettings.xml")

        End If


Quand je clique sur le checkbox pour sauvegarder tout est ok. Si je reclique dessu encore une fois j'ai un erreur me disant que le fichier est deja ouvert , cela veut donc dire qu'il ne se ferme pas correctement? Aurais tu un moyen de le fermé un coup sauvegarder? Merci beaucoup de ton aide et de ton temps.
Commenter la réponse de rsx602
Messages postés
14569
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
0
Merci
Bonjour,

Et si tu essayais de n'avoir qu'une seule instance de ton fichier dans ta fonction, ça évitera les multiples Save alors qu'un seul en fin de procédure est réellement utile.

Mon site
Commenter la réponse de NHenry
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
0
Merci
Oui , J'ai essailer de seulement laissé le dernier car en effect le save d'avant n'est pas vraiment utile... Par conte j'ai toujours le meme probleme surment que le programme ne ferme pas le XML seulement jen e trouve pas comment le fermer =(
Commenter la réponse de rsx602
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
0
Merci
parfait je vais essailer. J'ai essailer de deleter le fichier manuellement quand mon programme est ouvert , impossible , si il est fermé aucun problème mais pour etre sur je vais vérifier avec ProcessExplorer bonne idée! Je vous revien la dessu
Commenter la réponse de rsx602
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
0
Merci
j'ai esailler et rien.. par conte j'ai résusi a corrigé le problème en le fesant d'une autre facon , l'operation de l'écriture du XML se fait dans le bouton a la place , je ne sais pas pourquoi mais tout marche nikel!! Merci encore de ton aide NHenry!!
Commenter la réponse de rsx602
Messages postés
14569
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
0
Merci
Bonjour,

D'accord.

Si ton pb est résolu, pense à mettre "Réponse acceptée" sur le ou les messages qui (t'ont aidés).

Mon site
Commenter la réponse de NHenry