2012-01-08 2 views
3

Я пытаюсь использовать API, который возвращает следующую структуруАнализировать ответ XML с PHP CURL

<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> 

я могу получить доступ к данным XML с помощью CURL, который прекрасно работает как это:

$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 на страницу, вызывающую эту функцию, я могу увидеть множество объектов simpleXMLElement, если я делаю print_r(), но когда я пытаюсь сделать foreach ($ xml-> TwilioResponse-> call как $ call) Я ничего не получаю, и мне кажется, что я вообще не умею разбирать данные.

Может кто-нибудь помочь мне и указать, где я ошибаюсь? За последние пару часов меня совершенно безумие.

СПАСИБО!

ответ

2

Похоже, есть две проблемы с $xml->TwilioResponse->call.

  1. $xmlTwilioResponse содержит элемент ("документ элемент"), $xml->TwilioResponse неверно.
  2. (XML и) Имена элементов SimpleXML чувствительны к регистру, call должен быть Call.

Дать $xml->Call a spin.

+0

AH! Мой спаситель! Thanx так много! – ackerchez

+0

Не забудьте принять этот ответ –

+0

сделано и сделано :) – ackerchez

Смежные вопросы