IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA E XML] Suppression d'un noeud


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut [VBA E XML] Suppression d'un noeud
    Bonjour,
    depuis quelques jours j'essaie de retirer un noeud d'un document XML.
    Je pensais utiliser removeAll comme indiqué dans le cours de Baptiste. Sans succes. La méthode n'existe pas.
    Alors je voulais faire utiliser l'object RemoveChild mais de même ça ne fonctionne pas.
    Exemple du code avec la méthode RemoveChild
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     sub SupprimeNoeud(byref stMaRequete as string)
    'Dim monNoeud As MSXML2.IXMLDOMNode
    Call MesDonneesXML.removeChild(MesDonneesXML.selectNodes(stMaRequete))
    End Sub
    Si quelqu'un sait comment s'y prendre...

  2. #2
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonjour,

    pourrai-t'on voir ton document XML et l'appel de ta fonction ..?

    voici une adapatation VB6 du code dans le tutoriel que tu cite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim xmlDoc As New MSXML2.DOMDocument
    Dim xmlSelect As MSXML2.IXMLDOMSelection
    Sub TestJacques()
         xmlDoc.async = "false"
        xmlDoc.Load ("jacques.xml")
        'On récupère tous les noeuds enfant à l'intérieur d'une balise enfants
    'se trouvant dans un noeud personne qui a comme nom Godoh et comme prénom Madeleine
     Set xmlSelect = xmlDoc.selectNodes("/personnes/personne[nom='Godoh' and prenom='Madeleine']/enfants/enfant")
     xmlSelect.removeAll
     xmlDoc.Save ("Jacques2.xml")
     
    End Sub

    Jacques.
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  3. #3
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    bonjour,
    Merci pour ta réponse rapide. La méthode remove all fonctionne à merveille.
    Je te mets la base xml comme tu m'as demadé :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <Annuaire>
    	<Presentation MonNom="Evariste GALOIS">
    		<Fax>ba.ab</Fax>
    		<Tel>ab.ba</Tel>
    	</Presentation>
    	<Groupe NomDuGroupe="Le Groupe 1">
    		<Contact NomDuContact="Toto">
    			<IsRouge>Vrai</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    		<Contact NomDuContact="Tata">
    			<IsRouge>Faux</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    		<Contact NomDuContact="Grand">
    			<IsRouge>Vrai</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    	</Groupe>
    	<Groupe NomDuGroupe="Mon Bureau">
    		<Contact NomDuContact="Clem">
    			<IsRouge>Faux</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    		<Contact NomDuContact="Caroh">
    			<IsRouge>Faux</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    	</Groupe>
    	<Groupe NomDuGroupe="bureau S.T.A.F.">
    		<Contact NomDuContact="F.T">
    			<IsRouge>Faux</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    		<Contact NomDuContact="Thom">
    			<IsRouge>Faux</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    		<Contact NomDuContact="">
    			<IsRouge>Faux</IsRouge>
    			<Tel>ab.ba</Tel>
    		</Contact>
    	</Groupe>
    </Annuaire>

    le code pour retirer un noeud est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub RetireMoiLeNoeud(ByRef stMaRequete As String)
    Dim xmlSelect As MSXML2.IXMLDOMSelection
    Set xmlSelect = MesDonneesXML.selectNodes(stMaRequete)
    xmlSelect.removeAll
    end sub

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Merci mais si ton probléme est terminé je n'ai plus besoin du XML ..



    Jacques.
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression d'un noeud d'un fichier XML wp7
    Par hodhod88 dans le forum Windows Phone
    Réponses: 1
    Dernier message: 16/05/2011, 22h06
  2. [XML] [DOM(XML?)] Suppression d'un noeud XML en php
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/01/2007, 15h11
  3. xml & asp suppression d'un noeud
    Par totoche dans le forum ASP
    Réponses: 1
    Dernier message: 28/10/2005, 11h41
  4. [VB.NET] [XML] Suppression d'un noeud dans un fichier XML
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/09/2004, 11h24
  5. [DOM] suppression d'un noeud fils xml en JAVA
    Par alexandre54 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 20/03/2003, 09h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo