Bonjour
petits probleme je programme une fonction en VB
j'ai besoin de connaitre par une boucle for chaque id des noeud nommé "NOM"
exp xml
<a>
<NOM id=1>
<gen_date>13.4.2000</gen_date>
<name>blablabla</name>
</NOM>
<NOM id=39>
<gen_date>13.4.2000</gen_date>
<name>blablabla</name>
</NOM>
ETC... ETC
</a>
mon objectif est de pouvoir supprimer le noeud NOM correspondant a un ID
particulier
Tu pourrais supprimer le noeud NOM où l'id = 40 comme ceci : '*** ' Module1 Option Explicit
Private Sub Main()
Call DeleteNodeNom("c:test.xml", 40)
End Sub
Private Sub DeleteNodeNom(ByRef sXMLFileName As String, ByRef nID As Long)
Dim xd As DOMDocument30 Dim xn As IXMLDOMNode
' on charge le document Set xd = New DOMDocument30 Call xd.Load(sXMLFileName)
' on cherche le noeud à l'aide d'une requête XPath Set xn = xd.selectSingleNode("//NOM[@id='" & CStr(nID) & "']")
' on test s'il existe If (Not xn Is Nothing) Then ' on supprime le noeud du document ' la propriété documentElement renvoit le noeud racine <a> Call xd.documentElement.removeChild(xn) End If
' on sauvegarde la modification Call xd.save(sXMLFileName)
End Sub '***
-- Cordialement Yanick MVP pour Visual Basic "mmi" a écrit dans le message de news:427b47f8$0$812$
Bonjour petits probleme je programme une fonction en VB j'ai besoin de connaitre par une boucle for chaque id des noeud nommé
Tu pourrais supprimer le noeud NOM où l'id = 40 comme ceci :
'***
' Module1
Option Explicit
Private Sub Main()
Call DeleteNodeNom("c:test.xml", 40)
End Sub
Private Sub DeleteNodeNom(ByRef sXMLFileName As String, ByRef nID As Long)
Dim xd As DOMDocument30
Dim xn As IXMLDOMNode
' on charge le document
Set xd = New DOMDocument30
Call xd.Load(sXMLFileName)
' on cherche le noeud à l'aide d'une requête XPath
Set xn = xd.selectSingleNode("//NOM[@id='" & CStr(nID) & "']")
' on test s'il existe
If (Not xn Is Nothing) Then
' on supprime le noeud du document
' la propriété documentElement renvoit le noeud racine <a>
Call xd.documentElement.removeChild(xn)
End If
' on sauvegarde la modification
Call xd.save(sXMLFileName)
End Sub
'***
--
Cordialement
Yanick
MVP pour Visual Basic
"mmi" <mickael.ange@wanadoo.fr> a écrit dans le message de
news:427b47f8$0$812$8fcfb975@news.wanadoo.fr...
Bonjour
petits probleme je programme une fonction en VB
j'ai besoin de connaitre par une boucle for chaque id des noeud nommé
Tu pourrais supprimer le noeud NOM où l'id = 40 comme ceci : '*** ' Module1 Option Explicit
Private Sub Main()
Call DeleteNodeNom("c:test.xml", 40)
End Sub
Private Sub DeleteNodeNom(ByRef sXMLFileName As String, ByRef nID As Long)
Dim xd As DOMDocument30 Dim xn As IXMLDOMNode
' on charge le document Set xd = New DOMDocument30 Call xd.Load(sXMLFileName)
' on cherche le noeud à l'aide d'une requête XPath Set xn = xd.selectSingleNode("//NOM[@id='" & CStr(nID) & "']")
' on test s'il existe If (Not xn Is Nothing) Then ' on supprime le noeud du document ' la propriété documentElement renvoit le noeud racine <a> Call xd.documentElement.removeChild(xn) End If
' on sauvegarde la modification Call xd.save(sXMLFileName)
End Sub '***
-- Cordialement Yanick MVP pour Visual Basic "mmi" a écrit dans le message de news:427b47f8$0$812$
Bonjour petits probleme je programme une fonction en VB j'ai besoin de connaitre par une boucle for chaque id des noeud nommé