Supprimer element xml vb.net

cs_aurel16 Messages postés 75 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 29 octobre 2010 - 15 avril 2008 à 19:24
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 - 15 avril 2008 à 22:40
Bonjour,

Je me sui fais une petite base de données en xml. Elle se compose ainsi :

<?xml version="1.0" encoding="utf-8" ?>
<voiture>
<ferrari>
<name ch="240">f5</name>
</ferrari>
</voiture>

Je désirerais supprimer l'élément "<name ch="240">f5</name>", mais comment faire ?

Merci de vos réponses

1 réponse

cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 7
15 avril 2008 à 22:40
Bonsoir,
pour tester j'ai mis ce fichier "voitures.xml"dans l'application sous bin->Debug  :

<?xml version="1.0" encoding="utf-8" ?>
<voiture>
  <ferrari>
    <name ch="240">f4</name>
    <name ch="240">f5</name>
    <name ch="240">f6</name>
  </ferrari>
</voiture>

Un bouton pour tester
      Private Sub btnSupprVoiture_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnSupprVoiture.Click
        SupprDataVoitureXML("voitures.xml", "f5")
    End Sub

et la procédure
    Sub SupprDataVoitureXML(ByVal pathFichier As String, _
    ByVal voiture As String)
        Dim xmldoc As New Xml.XmlDocument()
        xmldoc.Load(pathFichier)
        Dim xpathVoitures As String = "/voiture/ferrari"
        '*** Création d'un chemin, pour la recherche de l'élément à supprimer.
        Dim xpath As String = xpathVoitures & "/name[text()=""" & voiture & """]"
        Dim xmlElem As Xml.XmlNode = xmldoc.SelectSingleNode(xpath)
        '*** Si il existe, tordu, on recherche son parent pour tuer son enfant.
        If xmlElem IsNot Nothing Then
            xmlElem.ParentNode.RemoveChild(xmlElem)
            xmldoc.Save(pathFichier)
        End If
    End Sub
Bonne soirée.
0