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

JavaScript Discussion :

[XPath][XHTML] [FAQ]


Sujet :

JavaScript

  1. #1
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut [XPath][XHTML]
    Bonjour,

    sous IE6, est-il possible de récupérer le body d'un document XHTML sous forme de IXMLDOMNode afin de lui appliquer une requete XPath au travers de la méthode selectNodes.

    En gros je voudrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var bodyAsNode = ????;
    var elements = bodyAsNode.selectNodes('une requete xpath');
    Toutes mes tentatives de récupérer un objet body et de lui appliquer la méthode selectNodes ont échouées avec 'Cet objet ne gère pas cette propriété ou cette méthode'.

    Merci d'avance
    Quelques tips Java & autres : mon blog

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Xpath n'est pas supporté en natif dans JavaScript.

    Ce qe tu cherches à faire ne peut l'être qu'avec des activeX de IE. Il faut donc que tu regardes chez Microsoft les paramètres de l'activeX en question (IXMLDOMNode si tu le dis)

  3. #3
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    par contre tu as getElementsByTagName
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par siddh
    par contre tu as getElementsByTagName
    Et tout le DOM qui va avec

  5. #5
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    Citation Envoyé par siddh
    par contre tu as getElementsByTagName
    C'est exact, mais l'inconvénient d'utiliser getElementsByTagName est que je dois parser les éléments manuellement. L'avantage d'utiliser XPath était justement d'effectuer ce filtre via la requête XPath.
    Quelques tips Java & autres : mon blog

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par McFoggy
    je dois parser les éléments manuellement.
    Comment ça, parser manuellement? Comprends pas de quoi tu parles?
    Tu veux dire parser la requete Xpath? C'est pas très violent, un split sur "/" et hop, c'est parsé

  7. #7
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    Citation Envoyé par denisC
    Comment ça, parser manuellement? Comprends pas de quoi tu parles?
    Je dis simplement que si par exemple je veux parser tous les checkbox de ma page qui ont un certain attribut positionné, il va falloir que j'itère sur la liste des noeuds renvoyés par getElementByTagName, regarder le type du noeud, vérifier la présence de l'attribut en question et effectuer mon traitement.

    C'est la solution que j'ai adoptée pour l'instant, mais je trouve dommage de ne pas pouvoir utiliser XPath qui aurait filtré la liste de noeud juste avec la requête.
    Quelques tips Java & autres : mon blog

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui ca je suis bien d'accord que quand y aura la gestion de xpath ca sera du bonheur

    En php, simple_xml gère xpath et c'est cool
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par McFoggy
    C'est la solution que j'ai adoptée pour l'instant, mais je trouve dommage de ne pas pouvoir utiliser XPath qui aurait filtré la liste de noeud juste avec la requête.

    Effectivement, il faut boucler (je prefere appeller ça boucler que parser, mais bon, question de point de vue).

    Et effectivement, XPath, permet de faire les choses plus rapidement.

    Après quelques recherches sur le web, il semble que le support natif de XPath soit implémenté dans FireFox. En fait, c'est du DOM 3, avec lequel Firefox est compatible.
    Pour IE, malheuresement, pas de DOM 3 (seulement u 2). Il existe cependant des librairies JS qui implementent Xpath dans IE. Par exemple celle-ci, qui a l'air propre et prends en compte le support natif dans Firefox. A essayer....

    Ca m'interesse de savoir si ça marche bien.

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ah ouais ca peut le faire ca ^^
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  11. #11
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    en fait, ce qu il fais apparement, il se fait un ti xsl en string dans lequel il balance la requete xpath et il applique la transfo en js et recupère le result
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  12. #12
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    La bibliothèque XPath citée par denisC fonctionne très bien sous IE et firefox, merci pour le lien.

    Voilà qui répond à mon problème.
    Vivement la conformité à DOM3 pour ne pas avoir de librairies supplémentaires...

    Merci à tous.
    Quelques tips Java & autres : mon blog

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

Discussions similaires

  1. Requete XPath: neoud XML et string
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2003, 13h02
  2. [XPath] Position d'un élément
    Par ovh dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 07/04/2003, 15h26
  3. sum(XPATH) retourne NaN
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 19/03/2003, 13h48
  4. XPath: intersection de chemins
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/03/2003, 10h30
  5. Cours en Français sur XML-XSL et XPath
    Par Community Management dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 25/04/2002, 15h46

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