解析 RSS XML 时出现错误/警告:(

发布于 2024-10-19 00:18:00 字数 764 浏览 6 评论 0原文

我这样做了

<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;

有谁知道如何解决这个问题或解决它?

谢谢, 亚历克斯

I did this

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

And I got an XML parse warning like this:

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

.....

With an important part of the message being this:

I/O warning : failed to load external entity 

And I could not parse anything with this line:

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

Does anyone know how to fix this or get around it?

Thanks,
Alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弥枳 2024-10-26 00:18:00

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);

3rd argument of SimpleXMLElement() specifies if $data is URL. You should do either

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

or

$xml = 'http://weather.yahooapis.com/forecastrss?w=12797541'; // url, not contents
$yahoo_response = new SimpleXMLElement($xml , 0, true);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文