2012-04-25 3 views
2

Я пытаюсь извлечь данные из XML-фида с помощью simplexml_load_file. Это то, что я сейчас:Извлечение данных из XML-канала с помощью файла simplexml_load_

<?php 
     $anobii = simplexml_load_file('http://www.anobii.com/rss_shelf?s=01fe251a6c442bbf8a'); 
     foreach ($anobii->entry as $anobiiinfo): 
      $title=$anobiiinfo->rss->channel->item->title; 
      $desc=$anobiiinfo->rss->channel->item->description;  
      echo "<span> ",$title,"</span><br><span> ",$desc,"</span>"; 
     endforeach; 
    ?> 

Проблема заключается в том, что я не знаю, правильно разделителей сказать сценарию части, необходимые для извлечения (rss->channel->item->title).

ответ

4

Yous должен следовать структуре дерева xml, чтобы получить отдельные элементы.

<?php 
     $feedUrl = 'http://www.anobii.com/rss_shelf?s=01fe251a6c442bbf8a'; 
     $rawFeed = file_get_contents($feedUrl); 
     $anobii = new SimpleXmlElement($rawFeed); 

     foreach ($anobii->channel->item as $anobiiinfo): 
      $title=$anobiiinfo->title; 
      $desc=$anobiiinfo->description;  
      echo "<span> ",$title,"</span> <br/> <span> ",$desc,"</span>"; 
     endforeach; 
    ?> 
+0

Спасибо! : D Он работает! Последний вопрос: вам лучше или быстрее использовать этот метод (file_get_contents) или WordPress, встроенный в функцию fetch_feed (на основе SimplePie)? http://codex.wordpress.org/Function_Reference/fetch_feed Еще раз спасибо! :) – MultiformeIngegno

+0

Я бы предпочел использовать fetch_feed, что должно быть лучше, чем использование URL-адреса rs для получения фида. – Jayaram

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