【问题标题】:XML Error when I try to do simplexml_load_file当我尝试做 simplexml_load_file 时出现 XML 错误
【发布时间】:2015-11-04 13:21:27
【问题描述】:

我正在尝试将来自另一个网站的 XML 数据转换为我的程序中的数组。这是我到目前为止所写的:

<?php
$rss = 'http://headlines.yahoo.co.jp/rss/asahik-dom.xml';
$xml = simplexml_load_file($rss);
var_dump($xml);
?>

但是,当我尝试加载 php 页面时,会出现以下错误:

警告:simplexml_load_file(http://headlines.yahoo.co.jp/rss/asahik-dom.xml) [function.simplexml-load-file]:打开流失败:HTTP 请求失败!在 /home/www2/it32.lady2.itall.co.jp/www/yxml.php 第 11 行

警告:simplexml_load_file() [function.simplexml-load-file]:I/O 警告:无法在 /home/www2/it32.lady2.itall.co.jp/www 中加载外部实体“http://headlines.yahoo.co.jp/rss/asahik-dom.xml” /yxml.php 在第 11 行 布尔(假)

仅供参考 $xml = simplexml_load_file($rss);是第 11 行。

我的代码的哪一部分出错了? 请帮忙。

【问题讨论】:

    标签: php arrays xml simplexml


    【解决方案1】:

    请尝试file_get_contents()加载文件,然后使用SimpleXMLElement解析。

    试试

    $rss = file_get_contents('http://headlines.yahoo.co.jp/rss/asahik-dom.xml');
    $xml = new SimpleXMLElement($rss);
    print_r($xml);
    

    注意allow_url_fopen必须在php.ini中启用

    【讨论】:

    • 这就是结果:Warning: file_get_contents(http://headlines.yahoo.co.jp/rss/asahik-dom.xml) [function.file-get-contents]: failed to open stream: HTTP request failed! in /home/www2/it32.lady2.itall.co.jp/www/yxml.php on line 10 Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/www2/it32.lady2.itall.co.jp/www/yxml.php:11 Stack trace: #0 /home/www2/it32.lady2.itall.co.jp/www/yxml.php(11): SimpleXMLElement-&gt;__construct('') #1 {main} thrown in /home/www2/it32.lady2.itall.co.jp/www/yxml.php on line 11
    • @MasayukiTonoki 似乎在您的php.ini 中未启用allow_url_fopen
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 2022-06-14
    • 2022-01-15
    • 2011-07-12
    • 2011-06-02
    • 2020-02-11
    • 2011-11-21
    • 2020-09-03
    相关资源
    最近更新 更多