Forum CMS Made Simple FR

Version complète : [Résolu] Comment utiliser le module XML Made Simple ?
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.6
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.6
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.4
#~ FileManager: 1.4.3
#~ MenuManager: 1.8.5
#~ MicroTiny: 1.2.5
#~ ModuleManager: 1.5.5
#~ News: 2.12.12
#~ Search: 1.7.8
#~ ThemeManager: 1.1.8
#~ TinyMCE: 2.9.12
#~ LinkMgr: 1.5.1
#~ Captcha: 0.4.6
#~ FormBuilder: 0.7.3
#~ XMLMadeSimple: 0.1.2
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 64000000
#~ url_rewriting: mod_rewrite
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.2.17
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 128M
#~ max_execution_time: 120
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 64M
#~ upload_max_filesize: 64M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.1.49
#~ Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'essaie d'utiliser le module XML Made Simple mais je sèche un peu... Si quelqu'un utilise, ça m'aiderait beaucoup.

Je récupère un feed qui ressemble à ça si je l'affiche dans mon navigateur (Firefox) :

<slots>
<slot start="2013-05-23 16:00:00" finish="2013-05-23 17:00:00">
<title id="133401">Ici_Le_Titre</title>
<count>1</count>
</slot>
</slots>

Dans une page de mon site je mets : {XMLMadeSimple feed_id="1"}

Avec l'aide du template par défaut de XMLMadeSimple, ça m'affiche :

SimpleXMLElement Object
(
[slot] => SimpleXMLElement Object
(
[@attributes] => Array
(
[start] => 2013-05-23 16:00:00
[finish] => 2013-05-23 17:00:00
)

[title] => Ici_Le_Titre
[count] => 1
)

)
1

Jusque là tout bien... mais comment faire pour récupérer simplement la valeur de [start] qui est la seule valeur qui m'intéresse ?

J'ai essayé différentes choses, dont {XMLMadeSimple feed_id="1" action="search" xpath="/slots/slot"} mais dans ce cas, ça ne renvoie plus rien du tout... ni avec {$xml|var_dump} dans le template default, ni avec {$xml|print_r}

Donc je sèche grave... :/ Rien trouvé jusque là sur le forum ou sur Gueugueule qui puisse m'aider.

Par avance merci beaucoup pour toute suggestion Smile
Je fais un petit up... personne qui n'utilise ce module ?
désolé de ma réponse inutile mais non je n'utilise pas ce module Sad
Bonjour, merci pour la réponse "même inutile" qui me permet de voir que quelqu'un a tenté de s'intéresser à mon problème Big Grin

A force de chercher sur le net et de tester des trucs j'ai enfin trouvé un moyen de récupérer des valeurs avec XMLMadeSimple et je vais donc me répondre à moi-même, ça rendra surement service à quelqu'un.

Dans la page, pour appeler le module XMLMadeSimple :

{XMLMadeSimple feed_id="1" template="agenda"}

Dans le template, pour afficher l'intégralité du XML reçu :
<pre>{$xml|var_dump}</pre>

Ce qui dans mon cas, donne ça :

SimpleXMLElement Object
(
[slot] => SimpleXMLElement Object
(
[@attributes] => Array
(
[start] => 2013-05-23 16:00:00
[finish] => 2013-05-23 17:00:00
)

[title] => Ici_Le_Titre
[count] => 1
)

)

Dans le template, pour extraire des données de $xml qui m'intéressent (dans mon cas, start et title):

<pre>{$start= (string) $xml->slot['start']}
{$start}
</pre>

<pre>{$title= (string) $xml->slot->title}
{$title}
</pre>

A noter que je n'ai qu'un seul enregistrement dans mon XML, sinon il faudrait utiliser une boucle foreach pour se déplacer dans les résultats.

Il y a probablement d'autres moyens de faire ça... Je n'ai jamais réussi à utiliser xpath comme indiqué dans la doc du module, qui gagnerait grandement à être... étoffée d'exemples Wink

Au final, vu le peu de services que me rend le module XMLMadeSimple (juste me renvoyer du XML à partir d'une URL) je pense que je vais probablement me développer mon petit module "home-made" - ce qui aura l'immense avantage que je comprenne comment ça fonctionne.

Si toutefois quelqu'un a des suggestions sur ce module je reste preneur, l'avantage du CMS étant de ne pas avoir à réinventer la roue à chaque fois Smile Smile Smile
ton traitement me parait tout a fait correct, par précaution j’inclurais de suite la boucle foreach Smile