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

pitpit44 Messages postés 3 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 9 mai 2006 - 9 mai 2006 à 10:26
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 9 mai 2006 à 12:33
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

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
9 mai 2006 à 10:34
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)
0
pitpit44 Messages postés 3 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 9 mai 2006
9 mai 2006 à 10:56
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.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
9 mai 2006 à 11:08
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)
0
pitpit44 Messages postés 3 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 9 mai 2006
9 mai 2006 à 12:28
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'.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
9 mai 2006 à 12:33
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)
0
Rejoignez-nous