2016-03-19 8 views
0

私は数多くの試みを試みましたが、このフィードから画像を取得することはできませんでした。私はちょうど私のフィードにも存在するサムネイルを探しています。誰も助けることができますか? ?XMLフィードから表示する画像を取得する

<?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>'; 

} 

>

答えて

0
<?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>'; 

} 
?> 
+0

ブリリアント - あなたはちょうどあなたが何をしたかを簡単に説明することができ、私はそれのまわりで私の頭を得ることができますか? – Tatws24

+1

メディアタグの名前空間を宣言します(7行目)。 それから子供たちをつかんでください(23行目)。 この場合、サムネイルがそこにある唯一のオブジェクトだと思われますが、さまざまなメディアタイプを想像することができます。そのため、メディアネームスペースを使用すると、ドキュメント内の名前の競合を避けることができます。 すべてのアイテムにサムネイルがあるわけではないので、それが空でないことを確認し(24行目)、存在する場合はそれを印刷してください。 ここには良いチュートリアルがあります:http://www.sitepoint.com/parsing-xml-with-simplexml/ –

関連する問題