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 :

vbs Xml Comment tester la presence d'une variable ?


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut vbs Xml Comment tester la presence d'une variable ?
    Bonjour

    j'ai besoin de tester la presence d'une valeur dans un fichier XML avant de la lire.
    Cette valeur n'est pas forcement presente.

    mon code est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For Each hostElement In objXmlDoc.selectNodes("/dbd-support-info/global/auth")
    		host_id = hostElement.selectSingleNode("auth_id").text
    		host_name = hostElement.selectSingleNode("name").text
    		host_description = hostElement.selectSingleNode("description").text
     
    		Set host_site_id = hostElement.selectSingleNode("//site_id") ' Permet de tester si le champ existe
    		If Not host_site_id Is Nothing Then
    			host_site_id = hostElement.selectSingleNode("site_id").text
    		Else
    			host_site_id = " "
    		End If
    et donc la commande 'if not xxx is nothing then' ne fonctionne pas .

    Quelqu'un a t il deja utilisé cela
    MErci

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Code vbscript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		Set host_site_id = hostElement.selectSingleNode("//site_id") ' Permet de tester si le champ existe
    		If Not host_site_id Is Nothing Then
    			host_site_id = hostElement.selectSingleNode("site_id").text
    		Else
    			host_site_id = " "
    		End If
    et donc la commande 'if not xxx is nothing then' ne fonctionne pas.
    C'etait plutôt une grande illusion qu'il ne marchait pas.

    D'abord, "//site_id" et "site_id" ne sont pas la même chose. Pour le dernier, il faut que site_id soit un enfant direct de hostElement. Pour le premier, le problème est plus compliqué : //site_id signifie tous les déscendants (dit l'axe déscendant) à partir de la racine du document lui-même, pas même à partie de hostElement. Pour qu'il prend hostElement comme le noeud en contexte, il faut s'écrire comme ".//site_id". Donc, ".//site_id" ou "site_id", il faut que vous décidiez; et en tout cas, "//site_id" n'est pas ce qu'il ne doit s'écrire.

    Code vbscript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		Set host_site_id = hostElement.selectSingleNode(".//site_id") ' Permet de tester si le champ existe
    		'Set host_site_id = hostElement.selectSingleNode("site_id")    'si site_id est un enfant direct qu'on cherche
    		If Not host_site_id Is Nothing Then
    			host_site_id = host_site_id.text
    		Else
    			host_site_id = ""    ' pourquoi faire un espace blanc tout à fait non-sens
    		End If
    ps : host_site_id s'est pris tantôt comme IXMLDOMElement tantôt comme un texte, c'est admissible en vbs mais ce n'est pas de pratique terrible.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour ,

    site_id est un enfant direct , je tente de comprendre
    merci d'avance

Discussions similaires

  1. [VB.NET] Comment tester la validité d'une date ?
    Par Zefree dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/12/2012, 15h49
  2. Réponses: 2
    Dernier message: 08/09/2006, 10h07
  3. Comment tester la validité d'une adresse mail
    Par jmoez dans le forum Oracle
    Réponses: 1
    Dernier message: 19/04/2006, 13h00
  4. [XML]Comment tester que mon fichier XML est comme ceci?
    Par Devil666 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 02/06/2005, 13h41
  5. [ADO][ACCESS]tester la presence d'une table
    Par bidochon dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/02/2005, 20h48

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