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

XSL/XSLT/XPATH XML Discussion :

[xPath et VBA-E]Problème de requête avec xPath


Sujet :

XSL/XSLT/XPATH XML

  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 [xPath et VBA-E]Problème de requête avec xPath
    Bonjour
    J'ai un souci avec une requête xPath faite sur VBA.
    voici la table:
    Code La base 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
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <Annuaire>
    	<Presentation MonNom="NONO">
    		<Fax>10</Fax>
    		<Tel>1240</Tel>
    	</Presentation>
    	<Groupe NomDuGroupe="AA">
    		<Contact NomDuContact="TOTO">
    			<IsRouge>Vrai</IsRouge>
    			<Tel>1240</Tel>
    		</Contact>
    		<Contact NomDuContact="Tata">
    			<IsRouge>Faux</IsRouge>
    			<Tel>1240</Tel>
    		</Contact>
    		<Contact NomDuContact="Tati">
    			<IsRouge>Vrai</IsRouge>
    			<Tel>1240</Tel>
    		</Contact>
    	</Groupe>
    	<Groupe NomDuGroupe="Mon Bureau">
    		<Contact NomDuContact="tete">
    			<IsRouge>Faux</IsRouge>
    			<Tel>1240</Tel>
    		</Contact>
    		<Contact NomDuContact="Roro">
    			<IsRouge>Faux</IsRouge>
    			<Tel>1240</Tel>
    		</Contact>
    	</Groupe>
    </Annuaire>
    j'effectue la requête suivante grace :
    Code Le code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sub FaitLaRequete()
    Dim MesDonneesXML As MSXML2.DOMDocument
    set MesDonneesXML = new MSXML2.DOMDocument
    stMaRequete="/Annuaire/Groupe/ [count(Contact)]"
    MesDonneesXML.SelectNodes(stMaRequete)
    end sub
    Je ne comprends pas pourquoi j'ai une erreur : "méthode count Inconnue". Je me suis basé sur les aides présentes dans la F.A.Q en xpath.
    J'aimerai qu'il me compte le nombre de contacts présents dans ma base XML.

    @micalement

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    ton expression XPath est incorrecte ; il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count(/Annuaire/Groupe/Contact)
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  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
    ça me rend toujours la même erreur : count est inconnue.
    Je ne comprends pas....

  4. #4
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    SelectNodes est fait pour retourner une liste de noeuds et non pas pour calculer une expression.

    Pour avoir le nombre de noeuds, il suffit d'appeler, dans le code VBA, la propriété length sur le résultat de SelectNodes.
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  5. #5
    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. Je voulais pouvoir faire passer des requetes xPath pour ne pas avoir à utiliser lse propriétés et méthodes de selectNodes.
    As tu une idée de la chose?

    En tout cas merci pour ta réponse

Discussions similaires

  1. Problème de requête avec l'agrégat
    Par bertrand_declerck dans le forum Langage SQL
    Réponses: 10
    Dernier message: 24/08/2005, 16h59
  2. Problème concaténation requête avec ORACLE
    Par kobe dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/08/2005, 11h57
  3. Réponses: 3
    Dernier message: 11/10/2004, 17h26
  4. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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