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] Utilisation d'Xpath


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut [DOM] Utilisation d'Xpath
    Bonjour,

    Je cherche a récupérer la valeur d'un noeud :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0"?>
    <feed>
      <entry>
        <id>id</id>
        <title>ICI</title>
        <updated>date</updated>
      </entry>
      <entry>
        <id>id</id>
        <title>pas ici par contre</title>
        <updated>date</updated>
      </entry>
    </feed>
    J'ai compris qu'il fallait utiliser un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	$xpath = new DomXPath($dom);
    	$path = $xpath->query('/feed/entry/title');
    Mais j'arrive pas a trouver quoi mettre dans le query pour que ça soit bon.

    Mon but étant de trouver un noeud qui a comme texte : ICI afin de modifier ce texte après.

    NB : J'ai lu ce topic mais ca m'avance pas plus : http://www.developpez.net/forums/sho...d.php?t=397194.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 323
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 323
    Billets dans le blog
    17
    Par défaut
    Tu veux récupérer le <title> du 1er <entry> ? Dans ce cas :


  3. #3
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Je veux récupéré le title de l'entry qui a pour texte ICI.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    C'est plutot un problème de XPath que de PHP dans ce cas...
    Syntaxe de XPath
    je dirai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /feed/entry/[title=='ICI']

  5. #5
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Marche pas. Avec 1 egale non plus.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Code : 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
    <?php
    $xml = <<< EOX
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <feed>
      <entry>
        <id>id</id>
        <title>ICI</title>
        <updated>date</updated>
      </entry>
      <entry>
        <id>id</id>
        <title>pas ici par contre</title>
        <updated>date</updated>
      </entry>
    </feed>
    EOX;
     
    $dom = new DomDocument;
    $dom->preserveWhiteSpace = FALSE;
    $dom->formatOutput = TRUE;
    $dom->loadXML($xml);
    $xpath = new DomXPath($dom);
    $res = $xpath->query('//*[text() = "ICI"]');
    foreach ($res as $node) {
        printf('%s : %s<br/>', $node->nodeName, $node->nodeValue);
    }


    Pour le(s) modifier ensuite vous avez la réponse dans l'autre sujet.

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

Discussions similaires

  1. [DOM] utiliser une fonction
    Par leaemile dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/08/2007, 12h38
  2. [ASP] DOM selectSingleNode et Xpath
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/08/2007, 17h02
  3. [DOM] Utilisation de removeChild
    Par sylsau dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/01/2006, 10h31
  4. [DOM] Utilisation de l'API DOM pour créer du HTML sous IE
    Par pedouille dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2006, 14h48

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