【发布时间】:2012-02-05 09:27:24
【问题描述】:
我正在尝试使用返回以下结构的 API
<TwilioResponse>
<Call>
<Sid>CAe1644a7eed5088b159577c5802d8be38</Sid>
<DateCreated>Tue, 10 Aug 2010 08:02:17 +0000</DateCreated>
<DateUpdated>Tue, 10 Aug 2010 08:02:47 +0000</DateUpdated>
<ParentCallSid/>
<AccountSid>AC5ef872f6da5a21de157d80997a64bd33</AccountSid>
<To>+14153855708</To>
<From>+14158141819</From>
<PhoneNumberSid></PhoneNumberSid>
<Status>completed</Status>
<StartTime>Tue, 10 Aug 2010 08:02:31 +0000</StartTime>
<EndTime>Tue, 10 Aug 2010 08:02:47 +0000</EndTime>
<Duration>16</Duration>
<Price>-0.03000</Price>
<Direction>outbound-api</Direction>
</Call>
</TwilioResponse>
我可以通过使用 CURL 来获取 XML 数据,这样可以正常工作:
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $base_url."/Accounts/{$accountSid}/Calls");
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
curl_close($handle);
但是,一旦我以 XML 格式获取数据,我会尝试将其放入 simpleXML 元素中,然后将其返回到调用此函数的页面,如下所示:
$xml = new SimpleXmlElement($response);
if($xml)
{
return $xml;
}
else
{
return false;
}
当我将 XML 返回到调用该函数的页面时,如果我执行 print_r(),我可以看到很多 simpleXMLElement 对象,但是当我尝试执行 foreach($xml->TwilioResponse->call as $call) 我什么也没得到,而且我似乎根本无法深入研究数据。
有人可以帮助我并指出我哪里出了问题吗?在过去的几个小时里,它一直让我发疯。
谢谢!
【问题讨论】: