Проблемы с чтением канала RSS с SimpleXML - PullRequest
2 голосов
/ 11 октября 2010

Я пытаюсь прочитать простую новостную ленту Twitpic, но мне не везет. Я не вижу ничего плохого в своем коде, но он возвращает только следующее при использовании print_r ()

Array ( [title] => SimpleXMLElement Object ( ) )

Вот мой код:

function get_twitpics() {

    /* get raw feed */

    $url = 'http://www.twitpic.com/photos/Shealan/feed.rss'; 
    $raw = file_get_contents($url); 
    $xml = new SimpleXmlElement($raw);

    /* create array from feed items */

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

        $article = array();
        $article['title'] = $item->description;
    }

    return $article;
}

Ответы [ 3 ]

4 голосов
/ 11 октября 2010
foreach($xml->channel->item as $item) {
    $article = array(); // so you want to erase the contents of $article with each iteration, eh?
    $article['title'] = $item->description;
}

Возможно, вы захотите взглянуть на свой цикл for, если вы заинтересованы не только в последнем элементе, т. Е.

$article = array();
foreach($xml->channel->item as $item) {
    $article[]['title'] = $item->description;
}
3 голосов
/ 11 октября 2010

Если вы хотите, чтобы данные представляли собой определенный тип, вам необходимо явно ввести их:

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

    $article = array();
    $article['title'] = (string) $item->description;
}
1 голос
/ 11 октября 2010

Введите следующее явно (строка):

$item -> title
$item -> link
$item -> description
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...