簡體   English   中英

從PHP CURL解析XML響應

[英]Parse XML response from PHP CURL

我正在嘗試使用返回以下結構的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()但是當我嘗試執行foreach($ xml-> TwilioResponse-> call為$ call)時,我可以看到很多simpleXMLElement對象我什么都沒得到,似乎我根本無法深入研究數據。

有人可以幫助我,並指出我在哪里出錯嗎? 在過去的幾個小時里,它一直讓我瘋狂。

謝謝!

看起來$xml->TwilioResponse->call有兩個問題。

  1. $xml包含TwilioResponse元素(“文檔元素”), $xml->TwilioResponse不正確。
  2. (XML和)SimpleXML元素名稱區分大小寫, call應該是Call

$xml->Call旋轉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM