gpt4 book ai didi

php - 简单的 XML 加载文件不起作用

转载 作者:行者123 更新时间:2023-12-04 06:57:14 24 4
gpt4 key购买 nike

这怎么行不通:

$url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath%3D%22%2F%2Fmeta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false";

$xml = (simplexml_load_file($url))

我收到多个错误,告诉我 HTTP 请求失败。最终我想把这个文件的结果放到一个数组中,例如

描述 = CNN.com 提供最新的突发新闻等。

关键字 = CNN、CNN 新闻、CNN.com、CNN TV 等。

但是这个初始阶段不起作用。请问有什么帮助吗?

编辑
附加信息:

错误:

警告:simplexml_load_file(http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath%3D%22//meta%22%20and%20url%3D% 22http://www.cnn.com%22&format=xml&diagnostics=false) [function.simplexml-load-file]: 无法打开流:HTTP 请求失败!
# 警告:simplexml_load_file() [function.simplexml-load-file]:I/O 警告:无法加载外部实体“http://query.yahooapis.com/v1/public/yql?q=select%20*% 20from%20html%20where%20xpath%3D%22//meta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false"
  • 来自我的 phpinfo():
    allow_url_fopen 开启
  • PHP 版本 5.2.11
  • 认为它是有效的 ( http://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20html%20where%20xpath%3D%22//meta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false )
  • 最佳答案

    (注意:一旦找到真正的答案,就可能是无用的答案……)

    在您解决 XML 问题时(继续努力!)知道您还可以将 YQL 响应作为 JSON 返回。这是一个快速示例:

    $url = "http://query.yahooapis.com/v1/public/yql?q=select+%2A+"
    . "from+html+where+xpath%3D%22%2F%2Fmeta%5B%40name%3D%27"
    . "Keywords%27+or+%40name%3D%27Description%27%5D%22+and+"
    . "url%3D%22http%3A%2F%2Fwww.cnn.com%22&format=json&diagnostics=false";

    // Grab YQL response and parse JSON
    $json = file_get_contents($url);
    $result = json_decode($json, TRUE);

    // Loop over meta results looking for what we want
    $items = $result['query']['results']['meta'];
    $metas = array();
    foreach ($items as $item) {
    $metas[$item['name']] = $item['content'];
    }
    print_r($metas);

    给出一个数组,如(为屏幕截断的文本):
    Array
    (
    [Description] => CNN.com delivers the latest breaking news and …
    [Keywords] => CNN, CNN news, CNN.com, CNN TV, news, news online …
    )

    请注意,YQL 查询 ( try it in the console ) 与您的略有不同,以使 PHP 更简单。

    关于php - 简单的 XML 加载文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410031/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com