Bonjour à tous,

je débute en VB . J'ai un petit programme en mode console qui demande les nom et prénom de personnes. Je cherche à enregistrer les données des personnes dans un fichier XML.

Cela fonction tant que je ne quitte pas mon programme. Si je quitte et rouvre à nouveau mon programme l'enregistrement se fait mais pas à la suite de ce qui a déjà été encodé -> Perte d'infos.

Je dois avoir loupé un truc pourtant je charge mon fichier xml au début.

Quelqu'un aurait-il une idée ?

Merci

Voici 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
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
        Dim choix As String
        Dim Nom As String
        Dim Prenom As String
        Dim ListePersonne As ArrayList = New ArrayList()
        Dim UnePersonne As Personne
 
        Do
            Console.WriteLine("1 - Créer une nouvelle personne ")
            Console.WriteLine("0 - Quitter ")
            choix = Console.ReadLine()
            If (choix = "exit") Then
                Exit Do
            End If
            Select Case choix
                Case 0
                    Exit Do
                Case 1
                    Console.Write("Nom : > ")
                    Nom = Console.ReadLine()
                    Console.Write("Prénom : > ")
                    Prenom = Console.ReadLine()
                    UnePersonne = New Personne(Nom, Prenom)
                    ListePersonne.Add(UnePersonne)
                Case Else
                    Exit Select
            End Select
        Loop
 
 
 
        ' Le fichier XML
        ' --------------
        ' 1° Création d'une nouvelle instance
        Dim XmlDoc As XmlDocument = New XmlDocument()
        Dim FileName As String = "MonTestXML.xml"
 
        ' 2° Vérification de l'existance du fichier
        If File.Exists(FileName) Then
            XmlDoc.Load(FileName.ToString())
        End If
 
        Dim Root As XmlElement
        Dim elementBook As XmlNode
        Dim elementNom As XmlNode
        Dim elementPrenom As XmlNode
 
        Root = XmlDoc.CreateElement("Library")
 
        For Each UnePersonne In ListePersonne
            ' Creation de la balise Book
            elementBook = XmlDoc.CreateElement("Book")
 
            ' Creation de la balise Nom
            elementNom = XmlDoc.CreateElement("Nom")
            elementNom.InnerText = UnePersonne.Nom
 
            ' Creation de la balise Prenom
            elementPrenom = XmlDoc.CreateElement("Prenom")
            elementPrenom.InnerText = UnePersonne.Prenom
 
            elementBook.AppendChild(elementNom)
            elementBook.AppendChild(elementPrenom)
            Root.AppendChild(elementBook) ' Ajout après le noeud Book
        Next
        If Not File.Exists(FileName) Then
            XmlDoc.AppendChild(Root)
        End If
        XmlDoc.Save(FileName)
        MsgBox("REUSSI")
 
    End Sub