Не могу разобрать RSS XML с PHP - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть несколько RSS, которые я пытаюсь разобрать с этого URL: http://weather.yahooapis.com/forecastrss?w=12797541

Но когда я пытаюсь разобрать его с помощью PHP, сделаю это:

$yahoo_response = new SimpleXMLElement($yahoo_url , 0, true);

echo $yahoo_response->rss->channel->item->title;
echo $yahoo_response->rss->channel->item->description;

Ничто не издается. Кто-нибудь знает, что я здесь делаю не так? Мне просто нужен текущий бит прогноза.

Спасибо, Alex

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011

Корневым элементом является <rss>, который представлен SimpleXmlElement, который вы загрузили в $yahoo_response.

echo $yahoo_response->getName();  // rss

Вы пытаетесь сделать <rss><rss>, когда вы должны сделать:

echo $yahoo_response->channel->item->title;
echo $yahoo_response->channel->item->description;
1 голос
/ 24 февраля 2011

Я обнаружил, что RSS-каналы лучше всего анализировать с помощью библиотеки.

У меня был большой успех с magpieRSS .

Но ваша непосредственная проблема заключается в том, что вы передаете URL-адресу simplexml вместо самого xml.

попробуйте $xml = file_get_contents($yahoo_url); сначала.

...