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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    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 .
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    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