Hilfe: simplexml_load_file (youtube-feed)

kadir

Angesehenes Mitglied
Hallo zusammen,

kann mir vielleicht jemand am Beispiel unten sagen, wie ich an die videoid (yt:videoid) drankomme, ohne preg_match)?
Alles andere funktioniert.


Youtube XML-File
CODE <?xml version='1.0' encoding='UTF-8'?>
<feed
xmlns='http://www.w3.org/2005/Atom'
xmlns:media='http://search.yahoo.com/mrss/'
xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
xmlns:gd='http://schemas.google.com/g/2005'
xmlns:yt='http://gdata.youtube.com/schemas/2007'
gd:etag='W/"D0MNRnc-fCp7I2A9WhRbGU4."'>


<entry gd:etag='W/"CkIDSH47eCp7I2A9WhRbFEs."'>
<id>tag:youtube.com,2008:video:YUfJpN0uhbs</id>
<published>2008-01-30T17:16:42.000Z</published>
<updated>2012-02-05T16:49:39.000Z</updated>
<title>Step Up 2 the Streets trailer german deutsch</title>
<author>
<name>tyler5060</name>
<uri>http://gdata.youtube.com/feeds/api/users/MBq0DMGFgSPIrb2DoO_UqA</uri>
</author>

<media:group>
<media:category label='Musik'
<media:description type='plain'>Step Up 2 the Streets trailer german deutsch</media:description>

<media:title type='plain'>Step Up 2 the Streets trailer german deutsch</media:title>
<yt:aspectRatio>widescreen</yt:aspectRatio>
<yt:duration seconds='124'/>
<yt:uploaded>2008-01-30T17:16:42.000Z</yt:uploaded>
<yt:videoid>YUfJpN0uhbs</yt:videoid>
</media:group>

<yt:rating numDislikes='33' numLikes='618'/>

</entry>



Mein Versuch:

CODE <?php
$feedurl="http://gdata.youtube.com/feeds/api/videos?v=2&q=trailer+german";

$xml=simplexml_load_file($feedurl);

foreach($xml->entry AS $entry)
{

$title = $entry->title;
$media = $entry->children('http://search.yahoo.com/mrss/');
$yt = $media->group->children('http://gdata.youtube.com/schemas/2007/');
$pub = $entry->published;
$author =$entry->author->name;

$thumb = $media->group->thumbnail[0]->attributes();
$videoid =$yt->videoid;

echo "Titel: <b>".$title."</b><br>";
echo "Vorschaubild:<b> <img src='".$thumb."' /></b><br>";
echo "Von: <b>".$author."</b><br>";
echo "Veröffentlicht: <b>".$pub."</b><br>";
echo "VideoID: <b>".$videoid."</b><br>";

}

?>

wie gesagt, bis auf videoid klappt es.
 
Das da stimmt sicher nicht:
CODE $media = $entry->children('http://search.yahoo.com/mrss/');
$yt = $media->group->children('http://gdata.youtube.com/schemas/2007/');



mach mal einen var_dump von $yt, durfte leer sein oder?

Wird wohl eher sowas sein?


CODE $media = $entry->children('http://search.yahoo.com/mrss/');
$yt = $media->children('http://gdata.youtube.com/schemas/2007/');

 
Danke euch allen, hat alles nicht geklappt, wobei der Fehler natürlich bei youtube liegt
smile.gif

Hab jetzt einfach preg_match auf <id> angewendet.
 
Führe doch bitte mal aus, wieso der Fehler bei Youtube liegen soll und kein PEBKAC darstellt. Und sag jetzt bitte nicht, weil die ID in einen anderen Namensraum steht...
 
@Sascha
Ich weiss zwar nicht was du meinst, aber der Smiley sollte verdeutlichen, dass ICH es nicht hinkriege.
 
Zurück
Oben