Ecrire à la suite d'un fichier XML
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:
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 |