数组中的PHP XML http响应

时间:2013-10-01 17:18:38

标签: php xml arrays

我是PHP的新手。我正在使用wget调用http api(托管站点不提供http_get)。当手动执行时,该调用返回一个xml集。但似乎我的wget调用将响应放入数组中。

我无法访问阵列,也不确定从何处开始。

以下是我的代码。仅供参考 - xml play_by_play对象的前4个元素是:id,visitor,home,status。

<?php
exec('wget http://api.sportsdatallc.org/mlb-t3/pbp/99a0f209-2c69-49a4-99f9-8aebdf55b6e9.xml?api_key=API_KEY', $array);

//print_r(array_values($array));
echo $array["play_by_play"][0]->id;


?>

我很感激您的帮助!

由于

1 个答案:

答案 0 :(得分:0)

当您使用exec()时,第二个参数($array)将填充输出的每行。那不是你想要的。这就是为什么你不能访问你的值,它只是一个字符串,而不是一个解析的XML文件。

我建议你改用shell_exec()

$xml = shell_exec('wget http://your.xml.file');

然后,您可以在$xml上使用XML解析器。


当PHP内置文件下载时,我不知道为什么你在这里使用exechttp_get()不是PHP核心的一部分,这就是您的托管不提供它的原因。如果他们允许您使用exec(),那么我会假设他们会让您使用内置的file_get_contents()

$xml = file_get_contents('http://your.xml.file');