2016-08-26 3 views
0

Я использую код для извлечения элементов из ebay rss-канала, единственная проблема заключается в том, что он извлекает только один элемент.Извлечь полный список rss-канала, используя simplexml_load_file

Я подозревал, что это произошло из-за for each, но после поиска всего этого сайта я не смог найти решение. URL-адрес канала будет выводить 8 элементов (entriesPerPage = 8), если вы получите доступ к фиду, вы получите полный код xml, но парсер получит только один элемент.

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

Вероятно потому что вы перебираете один элемент? $ 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

Используйте '

+0

Все еще не работает. Какую версию php вы используете? – User325313

Смежные вопросы