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

VBScript Discussion :

XML - Créer des Nodes


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut XML - Créer des Nodes
    Bonjour à toutes et à tous,

    Voici mon problème :

    Je voudrais ajouter des Nodes Enfants (NodeE) à une Node Parent (NodeP) si jamais le NodeP existe, sinon, le NodeE est alors un NodeP.
    J'espère que jusque là c'est assez clair .

    Bon sinon voici une autre traduction : je n'arrive pas à déterminer si un Node existe dans le document et auquel cas ajouter un node dans ce Node qui existe.
    Et dans le cas où il n'existe pas alors il faudrait que je puisse le créer.

    Voici ce que j'ai fait (Mais qui ne fonctionne pas bien entendu )
    Code : 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
    46
    47
    48
    49
    50
    51
     
    Public Sub AddNode(ByVal NomFichier, ByVal NomElement, ByVal NomNode, ByVal Valeur)
     
    	Dim xmlDoc, oRoot, oElement, oNode, rdr, wrt, oStream
     
    	NomElement = Replace(NomElement, " ", "_")
    	NomNode = Replace(NomNode, " ", "_")
    	NomNode = Replace(NomNode, "$", "")
     
    	''''''''''''''''''''''''
    	' Ouverture du fichier '
    	''''''''''''''''''''''''
    	Set xmlDoc = CreateObject("Microsoft.XMLDOM")
    	xmlDoc.Load(NomFichier)
     
    	On Error Resume Next
     
    	''''''''''''''''''''''''''''''''''''''''''''''
    	' On regarde si un Node "Parent" existe déjà '
    	''''''''''''''''''''''''''''''''''''''''''''''
    	Set oElement = xmlDoc.selectSingleNode(NomElement) ' xmlDoc.selectSingleNode("Racine/Balise/@Attribut)
     
    	If Err.Number = 0 Then
     
    		WScript.Echo "ok 1"
    		Set oNode = xmlDoc.createElement(NomNode)
    		oNode.setAttribute "CreationDate", Now
    		oNode.Text = Valeur
    		oElement.appendChild oNode
     
    	Else
     
    		WScript.Echo "ok 2"
    		Set oElement = xmlDoc.selectSingleNode("Racine")  ' positionnement sur la racine
    		Set oElement = xmlDoc.createElement(NomElement)    ' création d'un fils membre
    		xmlDoc.documentElement.appendChild oElement       ' crée le fils de la racine
     
    		Set oNode = xmlDoc.createElement(NomNode)
    		oNode.setAttribute "CreationDate", Now
    		oNode.Text = Valeur
    		oElement.appendChild oNode
     
     
    	End If
     
    	Set oElement = Nothing
    	Set oNode = Nothing
    	Set oRoot = Nothing
     
    	On Error GoTo 0
    End SUb
    Je ne m'y connais pas du tout en xml et ce n'est que mon deuxième jour alors soyez indulgeant

    Cordialement,

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut
    Pour ceux que cela intéresse, voici la solution

    Code : 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
     
    Set oElement = xmlDoc.selectSingleNode("Racine/" & NomElement)
     
    	If Not oElement Is Nothing Then
     
    		Set oNode = xmlDoc.createElement(NomNode)
    		oNode.Text = Valeur
    		oElement.appendChild(oNode)
     
    	Else
     
    		Set oElement = xmlDoc.selectSingleNode("/Racine")  ' positionnement sur la racine
    		Set oElement = xmlDoc.createElement(NomElement)    ' création d'un fils membre
    		xmlDoc.documentElement.appendChild(oElement)       ' crée le fils de la racine
     
    		Set oNode = xmlDoc.createElement(NomNode)
    		oNode.Text = Valeur
    		oElement.appendChild(oNode)
     
    	End If

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/09/2007, 13h01
  2. Quel éditeur pour créer des schémas XML ?
    Par hlr dans le forum Valider
    Réponses: 1
    Dernier message: 27/03/2006, 16h30
  3. Créer du xml avec des données Oracle
    Par Baumont dans le forum Oracle
    Réponses: 3
    Dernier message: 23/11/2005, 15h35
  4. [XML word] problème pour créer des puces
    Par ratapapa dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/07/2005, 13h52
  5. [DOM] Comment créer des flux XML en java ?
    Par nean_j dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/04/2004, 12h00

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