Mauvaise suppression d'un élément dans un fichier XML

Signaler
Messages postés
3
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006
-
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
-
Bonjour à tous,
voila, je débute en VB.net et j'ai un souci. j'utilise le calendrier de DevXpress dans Visual Studio 2005, et lorsque je veux supprimer un rendez-vous, il ne se supprimme pas entièrement et d'une mauvaise façon.
voici mon fichier avant suppression :
<?xml version="1.0"?>

Appointment Start="07/04/2006 08:00:00" End="07/04/2006 08:30:00" Status="-1" Subject="rapport 6" />

Après avoir supprimé le rendez-vous ''rapport 6'', j'obtient le résultat suivant :
<?xml version="1.0"?>

ment Start="05/04/2006 06:00:00" End="05/04/2006 06:30:00" Status="-1" Subject="rapport 1" />

avez-vous une idée pour résoudre mon problème, soit en faisant une suppression correcte, soit en supprimant ce qui se trouve derière le premier .

voici le code que j'utilise:


Private
Sub Supprimer(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles BtSupprimer.Click



Try


SchedulerControl1.DeleteSelectedAppointments()


SchedulerStorage1.RefreshData()



Dim streamW
As
New FileStream(Application.StartupPath & fichier, FileMode.Open)



Me.SchedulerStorage1.Appointments.Items.WriteXml(streamW)



Catch evt
As Exception


MsgBox(
"Erreur dans la suppression de l'élément : " & evt.Message)



End
Try



End
Sub

merci à tous de votre aide

5 réponses

Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour

Utilise de préférence les classes de system.xml.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Messages postés
3
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

Merci de m'avoir répondu si vite, mais je ne vois pas comment utiliser les classes de system.xml car mon fichier est de type FileStream. Comme je débute, il y a surement quelque chose que je n'ai pas compris.
Pourrais-tu me donner plus de précision?
Merci beaucoup.
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour

Un tour sur MSDN peut réponre rapidement à ta question, mais je te donnes quelques explications :
Pour utiliser un fichier XML, il faut créer un XmlDocument, ensuite regarde dans ses méthodes, il y a pour ouvrir une fichier ou utiliser un FileStream.
Ensuite, utilise : ObjXmlDocument.DocumentElement pour accéder à ta basile Items.
après tu peux utiliser ChildNodes.Remove(Ton noeud) pour supprimer le node.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Messages postés
3
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

merci de m'aider, mais je ne vois toujours pas. je ne vois pas comment faire correspondre le rendez-vous sélectionné à celui se trouvant dans le fichier XML, car tous mes noeuds se nomment 'Appointment'.
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour

Tu peux balayer la liste des ChildNodes puis récupérer le Node.Attribute.GetByName(ou un truc du genre), et tu compare la vamleur du noeud et de ta valeur recherchée, si elles correspondent, tu met le node trouvé dans ChildNodes.Remove du noeud parent.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)