Aller au contenu

Sujets conseillés

Posté

Bonjour le hub,

Je souhaite afficher un flux rss sur mon site.

Jusque la, rien que du classique, et je maitrise. :)

La où cela se complique, c'est que le flux contient des balise du type <itms:balise>, et ca, mon parser, il ne sait visiblement pas me les afficher. :(

Je viens de découvrir que itms est l'abréviation Itunes Music Store. (J'ai quelques train de retard je pense sur ce coup la...).

Ceci dit, comment je fais moi pour afficher le contenu des ce type de balise avec mon parser MagpieRSS ??

Merci de votre aide.

Stef'

Posté (modifié)

quelques précisions pour les nouveaux venus qui ne maitrisent pas l'affichage d'un flux rss avec magpie ou ceux qui ne connaissent pas RSS

Voici un extrait d'un fichier RSS très simple :

<channel>
<title>Easy RSS</title>
<link>http://www.lesiteduflux.com</link>
<description>Mon premier flux rss</description>
<language>fr</language>
<items>
<item>
<title>Infos 2</title>
<link>http://www.lesiteduflux.com/article.php?id=2</link>
<description>Infos 1</description>
<author>skale</author>
</item>
<item>
<title>Infos 1</title>
<link>http://www.lesiteduflux.com/article.php?id=1</link>
<description>Infos 1</description>
<author>skale</author>
</item>
</items>
</channel>

Les balises à retenir sont <channel> et <items>.

Maintenant du côté de magpie, on trouve la fonction fetch_rss($rss_xml) qui va créer un objet qui contiendra les données du flux RSS.

L'accès aux donnés se fait simplement avec l'objet MagpieRSS.

require_once("magpierss/rss_fetch.inc");
$rss = fetch_rss($url_feed);

// si la lecture s'est bien passee, on lit les elements
// on retrouve <channel> avec $rss->channel et
// <items> avec $rss->items

if (is_array($rss->items))
{
// on affiche le titre du flux
echo $rss->channel['title'] . '<br />';
// on ne recupere que les 10 derniers elements
$items = array_slice($rss->items, 0, 10);

foreach ($items as $item)
{
// on affiche le titre des articles en faisant un lien
echo '<a href="'.$item['link'].'">'.$item['title'].'</a><br />';
}
}

Pour Stef,

c'est tout simple, les balises <itms:balise> (qui sont des éléments de <item> ?) se retrouvent dans le code précédent avec

echo $item['itms']['balise'] . '<br />';

Itunes Music Store est une extension de définition pour RSS (Namespaces) qui ajoutent différentes balises déclaration namespaces W3C

Ici réside la puissance du XML

[edit]Ce post a plutôt sa place dans XML et ses dialectes[/edit]

Modifié par skale
Posté

Ah bah oui.... en effet.

Ca fonctionne tout bien comme il faut avec [itms][balise].

Merci bien Mr Skale :)

  • 1 month later...
Posté (modifié)

bonjour,

voici la ligne rss que j'essaye de lire :

<media:thumbnail url="http://www.dailymotion.com/media/dyn/preview/320x240/207859.jpg?20060201134916" height="240" width="320" />

j'aimerais récupérer la valeur url, mais je n'y parviens pas en essayant ce code :

$video['media']['thumbnail']

où est ma faute?

merci,

yoann

Modifié par kezoo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...