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 :

Lire un fichier XML


Sujet :

VBScript

  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 : 44
    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 Lire un fichier XML
    Bonjour à toutes et à tous,

    Voici mon problème :

    J'ai un fichier XML tel :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <Racine>
     <Windows>
      <MachineName>LLUXSDMZ022</MachineName> 
      <SerialNumber>GB8601VKJR</SerialNumber> 
      <Domain>Domaine: DMZ</Domain> 
      <Manufacturer>HP</Manufacturer> 
      <Os>Microsoft(R) Windows(R) Server 2003, Enterprise Edition</Os> 
      <Version>3790</Version> 
      <Description /> 
      <ServicePack>1</ServicePack> 
     </Windows>
    Voici comment je le lis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For Each nodeParent In xmlDoc.selectNodes("/Racine/Windows")
     
    		wscript.Echo nodeParent.selectSingleNode("MachineName").text
    		wscript.Echo nodeParent.selectSingleNode("SerialNumber").text
    		wscript.Echo nodeParent.selectSingleNode("Domain").text
    		wscript.Echo nodeParent.selectSingleNode("Manufacturer").text
    		wscript.Echo nodeParent.selectSingleNode("Os").text
    		wscript.Echo nodeParent.selectSingleNode("Version").text
    		wscript.Echo nodeParent.selectSingleNode("Description ").text
    		wscript.Echo nodeParent.selectSingleNode("ServicePack").text
     
    	Next
    Ce code ne pose aucun problème.
    Ce que je voudrais pouvoir faire, c'est faire une boucle sur chacun des nodes (MachineName, SerialNumber, ...) sans devoir faire un SELECTSINGLENODE en précisant le nom du noeud.
    Ensuite, dans cette boucle j'aimerais pouvoir afficher le nom du noeud et sa valeur.

    J'ai trouvé une piste telle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each nodeParent In xmlDoc.selectNodes("/Racine/Windows")
     
    		For Each nodeEnfant In nodeParent.ChildNodes
     
    			WScript.Echo "Enfant: " & nodeEnfant.text
     
    		Next
    Next
    Mais cela ne me donne pas les résultats souhaités.
    Je ne trouve pas non plus quelles propriétés utiliser.
    Peut être que cette piste n'est pas bonne non plus

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par eagleleader Voir le message
    ....Mais cela ne me donne pas les résultats souhaités...
    et c'est quoi les résultats souhaités .. (ils sont remplacés par quoi ?)

    moi j'ai
    Microsoft (R) Windows Script Host Version 5.6
    Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

    MachineName = LLUXSDMZ022
    SerialNumber = GB8601VKJR
    Domain = Domaine: DMZ
    Manufacturer = HP
    Os = Microsoft(R) Windows(R) Server 2003, Enterprise Edition
    Version = 3790
    Description =
    ServicePack = 1
    pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set xmlDoc = CreateObject("Microsoft.XMLDOM")
        xmlDoc.async = "false"
       If xmlDoc.Load("D:\DVP\VBS\MonXMl.xml") Then 
    		For Each nodeParent In xmlDoc.selectNodes("/Racine/Windows")
    			For Each nodeEnfant In nodeParent.childNodes
    				Wscript.Echo  nodeEnfant.baseName & " = " & nodeEnfant.Text
    			Next
    		Next
    	End if

  3. #3
    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 : 44
    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
    Bonjour Bbil,

    Merci pour ta réponse car en fait, la propriété que je ne connaissais pas était Je cherchais le moyen de récupérer le nom du noeud et sa valeur pour les mettre dans des variables.

    Merci pour ton aide

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

Discussions similaires

  1. Créer et lire un fichier xml
    Par Bruno1905 dans le forum C++Builder
    Réponses: 14
    Dernier message: 13/06/2007, 11h11
  2. Réponses: 1
    Dernier message: 17/01/2006, 07h42
  3. [DOM XML] Lire un fichier xml
    Par axel-erator dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/12/2005, 22h36
  4. lire un fichier xml
    Par stephanie5 dans le forum C++Builder
    Réponses: 6
    Dernier message: 18/11/2005, 16h34
  5. Comment lire un fichier XML ?
    Par jeromelef dans le forum Débuter
    Réponses: 6
    Dernier message: 29/06/2005, 15h52

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