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 :

Choisir le parser XML


Sujet :

VBScript

  1. #1
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut Choisir le parser XML
    Bonjour,

    Je suis souvent amené à utiliser un petit script VBScript pour appliquer des feuilles de style XSLT à des fichiers XML. Or il s'est posé récemment un petit problème. Je suis incapable de dire quelle version du parser microsoft VBScript utilise lorsque je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    createObject("MSXML2.DOMDOCUMENT")
    Par contre il s'avère que la version utilisée sur le serveur de production de l'entreprise pour laquelle je travaille utilise MSXML3. Donc je voudrais pouvoir préciser dans mon VBScript que c'est MSXML3 que je veux qu'il utilise pour créer mon objet.

    Je sais qu'il est possible de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    createObject("MSXML2.DOMDOCUMENT.3.0")
    createObject("MSXML2.DOMDOCUMENT.4.0")
    createObject("MSXML2.DOMDOCUMENT.6.0")
    Mais ça n'a pas l'air de concerner le parser utilisé. Je le sais car le résultat que j'obtiens après application d'une XSLT sur un XML avec mon VBScript est différent de celui obtenu sur le serveur de production (ce qui ne me facilite pas le travail).

    Ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    createObject("MSXML3.DOMDOCUMENT")
    ... ne fonctionne pas.

    Merci à ceux qui sauront m'aider.

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    salut,
    la première étape consiste d'abord à identifier avec précision la version du parser installé sur ton serveur et celui de ta machine
    aller dans le répertoire system32 et vérifier les propriétés des fichiers msxmlx.dll
    voir les différentes version ici: http://support.microsoft.com/kb/269238/fr
    et installer au besoin la version du serveur sur ta machine
    (ou mettre tout le monde d'accord avec la v6.0 sp1: http://www.microsoft.com/downloads/d...b-3e9827b70604)
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Citation Envoyé par omen999
    salut,
    la première étape consiste d'abord à identifier avec précision la version du parser installé sur ton serveur et celui de ta machine
    aller dans le répertoire system32 et vérifier les propriétés des fichiers msxmlx.dll
    voir les différentes version ici: http://support.microsoft.com/kb/269238/fr
    et installer au besoin la version du serveur sur ta machine
    (ou mettre tout le monde d'accord avec la v6.0 sp1: http://www.microsoft.com/downloads/d...b-3e9827b70604)
    Alors comme je l'ai dit la version sur le serveur est msxml3.dll

    Sur ma propre machine je sais que msxml6.dll est installé, mais j'aimerais si c'est possible ne pas la désinstaller.

    Et mon chef m'a bien fait comprendre qu'il était hors de question d'installer msxml6.dll sur le serveur, car nous avons beaucoup de XSLT qui se lancent automatiquement, et que nous avons pu faire l'expérience qu'un changement de moteur pourrait bousiller toute notre installation.

  4. #4
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    alors installe sur ta machine la v3 sp7 dispo ici: http://www.microsoft.com/downloads/d...4-f752bdca9582
    (les différentes versions peuvent cohabiter)
    et par précaution utilise le progID "Msxml2.DOMDocument.3.0"
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  5. #5
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Sur le serveur de production c'est bien msxml3 SP7 qui est utilisé. Il était par ailleurs déjà installé sur ma machine, mais le fait de préciser "Msxml2.DOMDocument.3.0" ne change rien, j'ai toujours un résultat différent que celui obtenu sur le serveur.

    En l'occurence, si par exemple j'ai un fichier XML de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="UTF-8"?>
    <NoeudRacine AttributRacine="pouetpouet">
    ...
    </NoeudRacine>
    Pour récupérer en XSLT la valeur d'un attribut du noeud racine, sur ma machine je dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="NoeudRacine/@AttributRacine" />
    Sur le serveur production ça ne fonctionne pas. A la place il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="@AttributRacine" />
    ...qui évidemment ne fonctionne pas sur ma machine.

    Et c'est ça qui pose problème (et mon chef redoute que d'autres apparaissent).

Discussions similaires

  1. [XML] Parser XML
    Par RobinJulie dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/02/2005, 08h48
  2. Parser XML -> PDF
    Par ebaynaud dans le forum Modules
    Réponses: 2
    Dernier message: 12/10/2004, 14h07
  3. [SAX] NoSuchElementException sur parser XML
    Par iceman dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 17/05/2004, 14h42
  4. parser xml
    Par billout dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/11/2003, 11h08
  5. Parser XML
    Par miloux32 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 18/07/2003, 03h17

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