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

 Delphi Discussion :

[D7-MSXML2_TLB] Erreur xPath avec fonctions avancées


Sujet :

Delphi

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut [D7-MSXML2_TLB] Erreur xPath avec fonctions avancées
    Bonjour à tous,

    Je lit des fichiers XML avec MSXML2_TLB (ci-joint), comme décrit dans cet article:
    http://big.developpez.com/delphi/xml/msxml/#LIII

    Ca marche plutot bien... Seulement, lorsque je veux faire une requete xPath avancée, il me fait une erreur de methode inconnue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Le projet builderCVS.exe a provoqué une classe d'exception EOleException avec le message 'Méthode inconnue.
     
    .//recto-cellule[-->normalize-space (.<--)='Test']'.  Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    En l'occurence, c'est sur une requete toute simple: "//recto-cellule[normalize-space(.)='Test']"
    Mais il plante également sur ces chaines de caractères "::" et ".." qui sont pourtant bien des séquences utilisées dans xPath.

    Avez vous une idée ?

    Merci d'avance.

  2. #2
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Je viens de faire une découverte interessante et qui résoud mon pb.

    En effet, avec la version 6, il y a de nouvelles fonctionnalités, mais il ne faut plus s'appuyer sur IXMLDOMDocument, mais IXMLDOMDocument2 (il y a même un 3).
    Et dans cette descendance, il y a une nouvelle methode: setProperty, qui permet de faire des requêtes xPath avancées.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        xmlFic.setProperty('SelectionLanguage','XPath');
        node1 := xmlFic.selectSingleNode('//graphic[@source=''031005020_2'']/../liensobjet'); // OK
        node1 := xmlFic.selectSingleNode('//graphic[@source=''031005020_2'']/ancestor::figure/liensobjet'); // OK


    J'ai joint le pas qui s'appuye sur MsXml6.

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

Discussions similaires

  1. DELPHI, EXCEL : Erreur OLE avec fonction SOMME.SI
    Par benoît14 dans le forum Langage
    Réponses: 4
    Dernier message: 07/01/2013, 12h30
  2. [VBA] Erreur avec fonction Dcount
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2006, 09h56
  3. Réponses: 11
    Dernier message: 20/01/2006, 12h35
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

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