Ошибка / Предупреждение разбора RSS XML :( - PullRequest
0 голосов
/ 24 февраля 2011

Я сделал это

<blink>
$xml = file_get_contents(http://weather.yahooapis.com/forecastrss?w=12797541);
$yahoo_response = new SimpleXMLElement($xml , 0, true);
</blink>

И я получил предупреждение о разборе XML:

PHP Warning:  SimpleXMLElement::__construct()
[<a href='simplexmlelement.--construct'>simplexmlelement.--construct</a>]:
I/O warning : failed to load external entity &quot;&lt;?xml version=&quot;1.0&quot; 

.....

Важная часть сообщения такова:

I/O warning : failed to load external entity 

И я ничего не смог разобрать с этой строкой:

echo (string) $yahoo_response->rss->channel->item->title;

Кто-нибудь знает, как это исправить или обойти?

Спасибо, Alex

1 Ответ

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

3-й аргумент SimpleXMLElement() указывает, является ли $data URL-адресом.Вы должны сделать либо

$xml = file_get_contents('http://weather.yahooapis.com/forecastrss?w=12797541');
$yahoo_response = new SimpleXMLElement($xml , 0, false); // false, not true

или

$xml = 'http://weather.yahooapis.com/forecastrss?w=12797541'; // url, not contents
$yahoo_response = new SimpleXMLElement($xml , 0, true);
...