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

Bibliothèques et frameworks PHP Discussion :

[DOM] Problème bizarre avec DOM et XPath


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 37
    Points
    37
    Par défaut [DOM] Problème bizarre avec DOM et XPath
    Bonjour,
    j'utilise PHP5 et sa librairie DOM pour manipuler des fichier XML.
    Je dois, entre autres, executer une requète XPath sur un fichier. Le souci est que ma requète qui fonctionne parfaitement sous XMLSpy, ne marche pas du tout sous PHP.

    Par contre j'ai remarqué ceci : La balise racine de mon document s'appelle <GPX> et contient les attributs suivants :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    <gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/0" version="1.0" creator="GPSBabel - http://www.gpsbabel.org" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">


    Si je supprime tous ces attributs pour ne garder que <gpx> la requète se met à marcher sous PHP (???!!??)

    C'est quoi ce beans?

    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    Précision : Ma requète originale est la suivante

    /gpx/wpt[@lon=".$_POST["lon"]." and @lat=".$_POST["lat"]."]"

    Elle marche sous XMLSpy et pas sous PHP



    Si je veux qu'elle marche sous PHP je suis obligé de la modifer comme suit :

    /gpx[*]/wpt[@lon=".$_POST["lon"]." and @lat=".$_POST["lat"]."]"

    Je suis obligé de faire un "/gpx[*]", ce qui est absurde...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    Pour ceux que ça intéresserait, voilà comment j'ai contourné le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $DomGpx = new DOMDocument('1.0', 'utf-8');
    $dom->preserveWhiteSpace = FALSE;
    $XMLString = ereg_replace("<gpx(.[^>])*>", "<gpx>",file_get_contents($monfichier));
    $DomGpx->loadXML($XMLString);
     
    ... traitement (requète XPath) ...
     
    $gpxTag->setAttribute ("version","1.0");
    $gpxTag->setAttribute ("creator","Velotrainer - http://www.velotrainer.net");
    $gpxTag->setAttribute ("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");
    $gpxTag->setAttribute ("xmlns","http://www.topografix.com/GPX/1/0");
    $gpxTag->setAttribute ("xsi:schemaLocation","http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd");
    $DomGpx->save($monfichier);
    Donc je récupère le contenu de mon fichier XML dans une string et je vire les attributs de <gpx> à l'aide d'une regexp.
    Et juste avant de réécrire dans mon finchier je remets les attributs de <gpx> en place.
    En faisant ç, ça marche impec.

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

Discussions similaires

  1. [DOM] gestion tableau avec DOm
    Par ivanoe25 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/11/2006, 08h33
  2. [DOM] Problème de cloneNode (DOM)
    Par linar009 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/07/2006, 08h37
  3. problème bizarre avec requete access
    Par nabil dans le forum Access
    Réponses: 9
    Dernier message: 29/05/2006, 19h28
  4. [DOM] Problème de manipulation DOM avec IE7
    Par volivi dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/04/2006, 10h49
  5. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00

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