2016-08-26 3 views
0

私はeBay RSSフィードからアイテムを抽出するためにコードを使用していますが、唯一の問題は1つのアイテムを抽出することだけです。simplexml_load_fileを使用してRSSフィードの完全なリストを抽出してください

私はそれがfor eachのためだと思っていましたが、このサイト全体を検索したところ、解決策が見つかりませんでした。フィードURLには8つの項目(entriesPerPage = 8)が出力されます。フィードにアクセスすると、フルXMLコードがそこにありますが、パーサーは1つの項目だけを取得します。

<?php 

$feedurl = "http://rest.ebay.com/epn/v1/find/item.rss?keyword=%28jewelry%2Ccraft%2Cclothing%2Cshoes%2Cdiy%29&sortOrder=BestMatch&programid=1&campaignid=5337945426&toolid=10039&listingType1=All&lgeo=1&topRatedSeller=true&hideDuplicateItems=true&entriesPerPage=8&feedType=rss"; 

$rss = simplexml_load_file($feedurl); 

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

$link = $item->link; 

$title = $item->title; 

$description = $item->description; 

} 

?> 
<div class="mainproductebayfloatright-bottom"> 
<div class="aroundebay"> 
<? 
print "<div class=\"titleebay\">" . $title . "</div>"; 
print $description; 
?> 
</div> 
</div> 

?> 
+0

あなたは1つのアイテムをループしているからですか? $ rss-> channel-> item – blur0224

+0

ですが、それは 'foreach'なので、ただ一つではなく、ページ上の各項目を取得すべきでしょうか? – User325313

答えて

0
は、あなたの変数が に上書きされ、各反復で、現在、ループ内であなたのhtmlを移動し、ループの後にあなたが最後のXML項目の値である持っているものの上にある

:おそらく

foreach ($rss->channel->item as $item) { 
    $link = $item->link; 
    $title = $item->title; 
    $description = $item->description;?> 
    <div class="mainproductebayfloatright-bottom"> 
     <div class="aroundebay"> 
    <?php 
     // simple title 
     print "<div class=\"titleebay\">" . $title . "</div>"; 
     // title-link 
     print "<a href=\"" . $link . "\">" . $title . "</div>"; 
     print $description; 
    ?> 
     </div> 
    </div> 
<?php 
} 
+0

コードが空白のページを返しています。エラー報告を有効にすることもできますが、エラーはまったく表示されません。また、最後に括弧をつけたオープンphpタグがあるのはなぜですか? Thx事前に – User325313

+0

'<?'の代わりに '<?php'を使います。 '終わりに括弧をつけたphpタグを開く'はforeachループを閉じます。 –

+0

まだ動作していません。どのバージョンのPHPを実行していますか? – User325313

関連する問題