Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从XML提要获取要显示的图片_Php_Xml_Rss_Feed - Fatal编程技术网

Php 从XML提要获取要显示的图片

Php 从XML提要获取要显示的图片,php,xml,rss,feed,Php,Xml,Rss,Feed,我尝试了很多次,但似乎无法从这个提要中获取图像。我只是想在我的订阅源上看到缩略图。有人能帮忙吗 <?php $XMLpath = 'http://feeds.bbci.co.uk/news/technology/rss.xml'; $xml = simplexml_load_file($XMLpath); //Title of feed echo '<h3>'.$xml->channel->title.'</h3>'; echo '&

我尝试了很多次,但似乎无法从这个提要中获取图像。我只是想在我的订阅源上看到缩略图。有人能帮忙吗

<?php    

$XMLpath = 'http://feeds.bbci.co.uk/news/technology/rss.xml';


$xml = simplexml_load_file($XMLpath);


//Title of feed

echo '<h3>'.$xml->channel->title.'</h3>';
echo '<h3>'.$xml->channel->description.'</h3>';
echo '<p>'.$xml->channel->date.'</p>';
echo '<hr>';

// Feed content

 foreach( $xml->channel->item as $item ) {

    //var_dump($item);

echo '<h3>'.$item->title.'</h3>';
echo '<p>'.$item->description.'</p>';
echo '<p><a href="'.$item->link.'">Read more..</a> ('.$item-                   

>pubDate.') </p>';
echo '<hr>';

}
channel->title';
回显'.$xml->channel->description';
回显“”.$xml->channel->date.“

”; 回声“
”; //饲料含量 foreach($xml->channel->item as$item){ //var_dump(项目); 回显“.$item->title.”; 回显“”.$item->description.“

”; 回显“(”.$item- >pubDate’)

; 回声“
”; }
?>

getnamespace(true);
//提要标题
回显'.$xml->频道->标题'';
回显'.$xml->channel->description';
回显“”.$xml->channel->date.“

”; 回声“
”; //饲料含量 foreach($xml->channel->item as$item){ //var_dump(项目); 回显“.$item->title.”; $thumbnail=$item->children($ns[“media”]); 如果(!空($缩略图)){ $thumbnail_attrs=$thumbnail->thumbnail[1]->attributes(); $image=$thumbnail_attrs[“url”]; 回声“; } 回显“”.$item->description.“

”; 回显“(“.$item->pubDate.”)

”; 回声“
”; } ?>
Brilliant-你能简单地解释一下你做了什么,让我了解一下吗?声明媒体标签的名称空间(第7行)。然后抓住它的孩子(第23行)。在本例中,缩略图似乎是其中唯一的对象,但您可以想象许多不同的媒体类型,因此媒体名称空间允许您避免文档中的命名冲突。然后,由于不是每个项目都有缩略图,请检查以确保它不是空的(第24行),然后将其打印出来(如果存在)。这里有一个很好的教程:
<?php

$XMLpath = 'http://feeds.bbci.co.uk/news/technology/rss.xml';


$xml = simplexml_load_file($XMLpath);
$ns = $xml->getNamespaces(true);

//Title of feed

echo '<h3>'.$xml->channel->title.'</h3>';
echo '<h3>'.$xml->channel->description.'</h3>';
echo '<p>'.$xml->channel->date.'</p>';
echo '<hr>';

// Feed content

 foreach( $xml->channel->item as $item ) {

    //var_dump($item);

echo '<h3>'.$item->title.'</h3>';
$thumbnail=$item->children($ns["media"]);
if(!empty($thumbnail)){
  $thumbnail_attrs=$thumbnail->thumbnail[1]->attributes();
  $image=$thumbnail_attrs["url"];
  echo "<img src='$image'></img>";
}
echo '<p>'.$item->description.'</p>';
echo '<p><a href="'.$item->link.'">Read more..</a> ('.$item->pubDate.') </p>';
echo '<hr>';

}
?>