У меня есть 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;
Ничего не выводит. Кто-нибудь знает, что я делаю неправильно здесь? Мне просто нужен бит текущего прогноза.
Спасибо, Алекс
Корневым элементом является <rss>
, который представлен SimpleXmlElement
, загруженным в $yahoo_response
.
echo $yahoo_response->getName(); // rss
Вы пытаетесь сделать <rss><rss>
когда вам следует:
echo $yahoo_response->channel->item->title; echo $yahoo_response->channel->item->description;
Я обнаружил, что RSS-каналы лучше всего разбираются с использованием библиотеки.
У меня был большой успех с magpieRSS .
Но ваша непосредственная проблема заключается в том, что вы передаете URL-адрес в simplexml вместо самого xml.
попробуйте $xml = file_get_contents($yahoo_url);
первый.