Récupérer des élements en XML

Bonjour !

Pardonnez par avance ma « newbierie » :slight_smile:

Je cherche à créer un page affichant les vidéos favorites d’un utilisateur de YouTube.

Je sais que YouTube génère automatiquement un flux RSS des vidéos favorites d’un utilisateur à cette URL :
http://gdata.youtube.com/feeds/api/users/username/favorites

Mais ensuite, n’ayant jamais touché à du XML, je ne sais comment récupérer les infos de ce flux.

Quelqu’un aurait-il une idée ?

Merci !

Bonjour :slight_smile:

Je suppose que tu comptes faire ça sur un site web, sans doute en php. La façon ultra simple de faire est la suivante:

<?php

$base_url = 'http://gdata.youtube.com/feeds/api/users/%s/favorites';
$user = 'moi';

$url = sprintf($base_url, $moi);

$page = file_get_contents($url);
if (!$page)
{
   die('Oops, page non disponible');
}

$document = simplexml_load_string($page);
echo '<pre>';
print_r($document);
echo '</pre>';

?>

Le print_r est un bout à compléter pour n’afficher que ce dont tu as besoin.
Regarde sur php.net/fonction-que-tu-cherches pour plus d’infos sur celle-ci.

Merci beaucoup, c’est exactement ce que je cherchais. Oui, je cherche à le faire en PHP et je voulais savoir sur quelle fonction partir.

ça marche?

Ca marche, merci. Je découvre tout un pan du PHP dédié au traitement des données XML, je ne connaissais pas, c’est intéressant mais pas facile de trouver la fonction ce qu’il faut là-dedans… Si je trouve pas ce que je veux, je reviens par ici… Mais c’est comme les jeux d’aventure, pas de walkthrough avant d’avoir essayé de chercher :slight_smile:

Le format atom est assez chiant à “parser” comme ça, mais en gros tu peux t’en sortir en faisant un :

foreach ($document AS $node)
{
   print_r$(node);
}

puis pour descendre dans une branche, tu rajoute un ->branche.

par exemple foreach ($document->entries AS $entry) { echo $entry->title; }

Si le besoin de faire de plus grosses opérations sur XML se fait sentir, tu peux toujours utiliser XPath, mais pas via simpleXML.

C’est bon, j’arrive à récupérer les infos que je veux grâce à tes conseils. Le reste ira.

En revanche, je ne comprends pas pourquoi le flux XML YouTube n’intègre pas la totalité des vidéos favorites, mais juste les 22 premières dans mon cas. Qu’est-ce qui définit la longueur maximale du flux ? C’est chez moi ? Chez YouTube ?