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 :

Récupérer les frères d'une valeur


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    Points : 64
    Points
    64
    Par défaut Récupérer les frères d'une valeur
    Bonjour,

    J'essaie de récupérer des valeurs dans un document tableur de Google Drive.
    Je génère pour cela un fichier XML du Graph souhaité ce qui donne ce bout de code qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <item>
    	<guid isPermaLink='false'>https://spreadsheets.google.com/feeds/cells/blablablablablaba/od2/public/basic/R2C2</guid>
    	<atom:updated>2014-03-21T16:34:07.662Z</atom:updated>
    	<category domain='http://schemas.google.com/spreadsheets/2006'>http://schemas.google.com/spreadsheets/2006#cell</category>
    	<title>B2</title>
    	<description>219</description>
    </item>
    <item>
    	<guid isPermaLink='false'>https://spreadsheets.google.com/feeds/cells/blablablablablaba/od2/public/basic/R4C3</guid>
    	<atom:updated>2014-03-21T16:34:07.662Z</atom:updated>
    	<category domain='http://schemas.google.com/spreadsheets/2006'>http://schemas.google.com/spreadsheets/2006#cell</category>
    	<title>C4</title>
    	<description>115</description>
    </item>
    Je souhaiterais savoir si avec une requête du type
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $fichier = file_get_contents('docxml.xml');
    $xml = new SimpleXMLElement($fichier);
    $xml->registerXPathNamespace('c', 'http://schemas.google.com/spreadsheets/2006');
    $Coord = $xml->xpath('//c:title[C4]?description??');
    echo $valeur[0] . "\n";

    Ou bien entendu on irait récupérer la valeur description en recherchant la valeur title "frère" (ici C4).

    Merci d'avance si vous avez des pistes.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Euh...

    - http://schemas.google.com/spreadsheets/2006 n'est pas un namespace.
    - Les éléments que tu cherches n'ont pas de namespace, registerXPathNamespace est inutile.
    - C4 est une valeur texte, pas un nom d'élément.
    - L'idée est de sélectionner l'<item> qui contient le <title> qui t'intéresse, et de lire quel <description> il contient.

    Donc ça donne //item[title='C4']/description .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    Points : 64
    Points
    64
    Par défaut
    C'est tout bon !
    J'ai du mal avec le concept de namespace... mais je progresse !!

    Pour ceux que ça intéresserait voilà donc la procédure :
    Dans Google doc vous ouvrez votre fichier graph puis dans "Fichier" > "Publier sur le web". Dans le fenêtre qui s'ouvre on sélectionne RSS sous "Insérer un lien vers les données publiées".
    Depuis ce lien on obtient un fichier xml qu'on peut copier sur son site et ensuite on interroge le contenu de la cellule désirée par la requête ci-dessous :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $fluxrss=simplexml_load_file('lienverslefichier.xml');
    $valeur = $fluxrss->xpath('//item[title="NomDeLaCellule"]/description')

    Encore merci thelvin

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 05/02/2008, 14h37
  2. Réponses: 5
    Dernier message: 07/01/2008, 11h43
  3. [VB.NET] Récupérer les caractéristiques d'une couleur
    Par leSeb dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/08/2004, 15h03
  4. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 16h32

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