Вопрос:
Я пытаюсь использовать API со следующим XML:
<movies> <movie> <images> <image type=»poster» url=»http://cf1.imgobject.com/posters/b7a/4bc91de5017a3c57fe00bb7a/i-am-legend-original.jpg» size=»original» width=»675″ height=»1000″ id=»4bc91de5017a3c57fe00bb7a»/> <image type=»poster» url=»http://cf1.imgobject.com/posters/b7a/4bc91de5017a3c57fe00bb7a/i-am-legend-mid.jpg» size=»mid» width=»500″ height=»741″ id=»4bc91de5017a3c57fe00bb7a»/> <image type=»poster» url=»http://cf1.imgobject.com/posters/b7a/4bc91de5017a3c57fe00bb7a/i-am-legend-cover.jpg» size=»cover» width=»185″ height=»274″ id=»4bc91de5017a3c57fe00bb7a»/> </images> </movie> </movies>
Может кто-нибудь дать мне пример кода PHP, который я должен использовать, чтобы получить URL-адрес изображения, где size = “cover”?
Спасибо.
Лучший ответ:
SimpleXML может сделать это совершенно, из-за отсутствия лучшего слова, просто:
$xml = new SimpleXMLElement($str); $xpath = $xml->xpath(«/movies/movie/images/image[@size = ‘cover’]»); echo $xpath[0][‘url’]; Ответ №1
Загрузите xml с помощью XML Parser, DOMDocument, SimpleXML и т.д.
http://se.php.net/manual/en/refs.xml.php
Затем вы можете использовать XPath для выбора изображения.
XPath для захвата фильма с атрибутом size = cover
/movies/movie/images/image[@size=cover]
Похож на хороший учебник: http://ditio.net/2008/12/01/php-xpath-tutorial-advanced-xml-part-1/
Ответ №2<?php $string = <<<XML <?xml version=’1.0′?> <movies> <movie> <images> <image type=»poster» url=»http://cf1.imgobject.com/posters/b7a/4bc91de5017a3c57fe00bb7a/i-am-legend-original.jpg» size=»original» width=»675″ height=»1000″ id=»4bc91de5017a3c57fe00bb7a»/> <image type=»poster» url=»http://cf1.imgobject.com/posters/b7a/4bc91de5017a3c57fe00bb7a/i-am-legend-mid.jpg» size=»mid» width=»500″ height=»741″ id=»4bc91de5017a3c57fe00bb7a»/> <image type=»poster» url=»http://cf1.imgobject.com/posters/b7a/4bc91de5017a3c57fe00bb7a/i-am-legend-cover.jpg» size=»cover» width=»185″ height=»274″ id=»4bc91de5017a3c57fe00bb7a»/> </images> </movie> </movies> XML; $xml = simplexml_load_string($string); foreach($xml->movie->images->image as $image) { if(strcmp($image[‘size’],»cover») == 0) echo $image[‘url’]; } ?> Ответ №3
$xml = simplexml_load_string ($ string2);
foreach ($ xml- > movie- > images- > image as $image) {
if(strcmp($image[‘size’],»cover»)) // echo $image[‘url’]; ?>
“width =” 200px “height =” 100px” >