Willkommen in der Webstatt
User-1 am 22.03.09 14:02

dumme frage, ich habe aber nichts gefunden: ich lade eine xml-datei mit simplexml_load_file(). zb so:
$url = "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=snorpey&api_key=b25b959554ed76058ac220b7b2e0a026&limit=1000";
$xml = simplexml_load_file($url);

foreach($xml->lfm->recenttracks->track as $track)
{
$artist = $track->artist;
}

damit kann ich immer auf die informationen zwischen den spitzen klammern zugreifen, also zb auf <artist>blink-182</artist>.
wie kann ich auf werte innerhalb der spiten klammern zugreifen, aso auf <artist url="http://www.blink182.com">...</artist> ?

netcup.de Warum gibt es hier Werbung?
User-2 am 22.03.09 14:11

Hallo,

ganz einfach:
$artist['url']

User-1 am 22.03.09 14:34

okay, danke.

ich stehe grade voll auf der leitung: wie bekomme ich das medium-bild, wenn ich sowas habe?
<track>
<image size="small">http://userserve-ak.last.fm/serve/34s/23714755.jpg</image>
<image size="medium">http://userserve-ak.last.fm/serve/64s/23714755.jpg</image>
<image size="large">http://userserve-ak.last.fm/serve/126/23714755.jpg</image>
</track>

User-2 am 22.03.09 14:38

Je nach dem gibt es 2 Möglichkeiten:

Du könntest mit foreach alle 3 Einträge durchgehen und dir das Gewünschte heraus suchen.
Besser wäre es aber mittels xpath:

nicht getestet, aber theoretisch so:
$track->xpath('//image[@size="medium"]');

User-1 am 22.03.09 15:00

hm wenn ich das in einer schleife durchlaufen lasse, dann macht es mir ein array mit allen image nodes im xml.
ich will aber nur die bilder im aktuellen node haben. wie baue ich den selbstbezug in den pfad ein?
foreach($xml->recenttracks->track as $track)
{
$image = $track->xpath('self/image[@size="medium"]');
}

funktioniert nicht.

User-2 am 22.03.09 15:08

Wenn man die Doku auf Wikipedia auf SimpleXml anwenden kann, könnte es so in dieser Art funktionieren:
$track->xpath('child::image[@size="medium"]');

User-1 am 22.03.09 15:11

funktioniert. herzlichen dank.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt