Simple XML Load File not working(简单的XML加载文件不起作用)
本文介绍了简单的XML加载文件不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么这不起作用:
$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请求失败。最终,我希望将此文件中的结果放入数组中,例如
Description=cnn.com发布最新突发新闻等。
关键词=CNN、CNN新闻、CNN.com、CNN TV等
但这个初始阶段不起作用。有什么需要帮忙的吗?
编辑 更多信息:
错误:
warning: 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]: failed to open stream: HTTP request failed! # warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "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(): 允许打开 上的_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 …
)
请注意,为了使PHP更简单,YQL查询(try it in the console)与您的略有不同。
这篇关于简单的XML加载文件不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:简单的XML加载文件不起作用
基础教程推荐
猜你喜欢
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01