Я действительно мог бы помочь с этим, это сводит меня с ума!
Мне нужно извлечь значение из файла XML, который генерируется запросом http ...
Я объясню ...
Мне нужно добавить переменную в эту строку:
http://ws.audioscrobbler.com/2.0/?method=artist.search&artist=ADD_ARTIST_HERE&api_key=b25b959554ed76058ac220b7b2e0a026
Что я могу сделать с редактированием некоторых переменных в php
Это создаст XML-файл, который выглядит следующим образом:
<lfm status="ok"> <results for="rihanna"> <opensearch:Query role="request" searchTerms="rihanna" startPage="1"/> <opensearch:totalResults>3821</opensearch:totalResults> <opensearch:startIndex>0</opensearch:startIndex> <opensearch:itemsPerPage>30</opensearch:itemsPerPage> <artistmatches><artist><name>Rihanna</name> <listeners>3236233</listeners> <mbid>73e5e69d-3554-40d8-8516-00cb38737a1c</mbid> <url>http://www.last.fm/music/Rihanna</url> <streamable>1</streamable> <image size="small">http://userserve-ak.last.fm/serve/34/71057304.png</image> <image size="medium">http://userserve-ak.last.fm/serve/64/71057304.png</image> <image size="large">http://userserve-ak.last.fm/serve/126/71057304.png</image> <image size="extralarge">http://userserve-ak.last.fm/serve/252/71057304.png</image>
И так файл продолжается ...
Из этого вывода XML, сгенерированного из моего исходного запроса, янужно извлечь URL в <image size="medium" и поместить его в другую переменную ...
<image size="medium"
Извините за простой вопрос (или какой может быть длинный ответ), но я действительно не знаю, как это сделатьодин на всех ...
Заранее благодарю за любую помощь, которую вы можете оказать мне.
Если у вас есть строка XML в $str:
$str
$xmlObj = simplexml_load_string($str); foreach($xmlObj->results as $result) { foreach($result->artistmatches->artist as $artist) { foreach($artist->image as $image) { if($image->attributes()->size == 'medium') { echo 'size medium: ' . (string)$image; } } } }
Вместо загрузки строки вы можете получить XML непосредственно из URL с помощью simplexml_load_file () .
Я использую канал Last.fm для приложения, которое я сделал, и для получения изображений, которые я использовал:
$imagexml = simplexml_load_file($imageurl) or $error = "Feed Not Loading"; $album = $imagexml->album; $image = (string) $album->image[2];
$ imageurl является URL для Last.FM, а $ image даст вам URL этого изображения
Вы можете взглянуть на XPATH функцию в php, чтобы перейти к этой конкретной ссылке на изображение ... php документы достаточно, чтобы помочь вам ...