Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish 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?
Snake am 22.03.09 14:11

Hallo,

ganz einfach:
$artist['url']

fish fish 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>

Snake 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"]');

fish fish 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.

Snake 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"]');

fish fish 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