2013-02-26 44 views
2

我有一个需要传递的XML文件。解析JSON字符串(还是XML?)

http://mckay.canvashost.com:8080/opentripplanner-api-webapp/ws/transit/stopTimesForStop?id=27833&startTime=1361784386000&extended=true&references=true

我使用PHP的卷曲将其加载到页面:

$url = "http://mckay.canvashost.com:8080/opentripplanner-api-webapp/ws/transit/stopTimesForStop?id=27833&startTime=1361784386000&extended=true&references=true"; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
$xml = curl_exec($ch);  
curl_close($ch); 
echo htmlentities($xml, ENT_QUOTES, "UTF-8"); 

输出是一个JSON文件,我没想到。无论如何,我继续使用JSON工作,但似乎无法解析它。

我原以为这会工作:

$obj=json_decode($xml); 
echo $obj[stopTime][0][phase]; 

随着 '出发' 的结果。我在这方面花了很长时间,但却无法输出任何内容。

任何帮助?任何人都知道它从XML文件切换到JSON格式?

+0

你到底把解压出来的这个数据? – Blender 2013-02-26 04:03:56

+2

试试'json_decode($ xml,true);'。 [PHP文档](http://www.php.net/manual/en/function.json-decode.php)。 – Passerby 2013-02-26 04:08:15

+0

该链接为我返回一个XML文件。是什么让你认为它是JSON? – cdmckay 2013-02-26 04:20:52

回答

0

输出是一个xml字符串。 尝试使用由SimpleXML的交付PHP的XML功能:

SimpleXml

只要你成功解析字符串中,你可以遍历其节点像数组

foreach ($xmlElement as $node) { 
echo $node->attributeName; 
}