2013-06-11 57 views
0

我是curl和xml的noob,但是我已經搜索了這個網站和網絡以獲得對此的答案,而且我沒有找到任何可行的方法。將cURL響應轉換爲變量

我使用cURL發送XML,收件人服務正在正確獲取數據並創建我正在接收的響應。響應從curl_exec回顯爲

<TRANS> 
    <HPAY> 
     <ID>223</ID> 
     <MLABEL>XXXX XXXX XXXX 9854</MLABEL> 
     <DATE>11/06/2013 21:00:36</DATE> 
     <SEN></SEN> 
     <REC>sc</REC> 
     <DEB>0.00</DEB> 
     <CRED>10.34</CRED> 
     <COM>2.00</COM> 
     <MSG></MSG> 
     <STATUS>3</STATUS> 
    </HPAY> 
</TRANS> 

現在我需要在變量轉這些了,我現在在如何做到這一點抓我的頭。

編輯,嘗試粘貼瀏覽器源代碼,但它不斷改變它。然而,要回答先前的評論,這是一個XML響應

+1

是響應XML並輸出它在瀏覽器中,所以它隱藏了標籤?查看頁面源以確認。 – somedev

+0

你想分開哪些部分?對於簡單的空白分割,你可以使用'explode('',$ str);'。 – ComFreek

+1

使用simplexml或DOMDocument。 – crush

回答

3

只使用SimpleXMLElement

$xml = new SimpleXMLElement($data); 
$details = array(); 
foreach($xml->HPAY->children() as $k => $v) { 
    $details[$k] = "$v"; 
} 
print_r($details); 

輸出

Array 
(
    [ID] => 223 
    [MLABEL] => XXXX XXXX XXXX 9854 
    [DATE] => 11/06/2013 21:00:36 
    [SEN] => 
    [REC] => sc 
    [DEB] => 0.00 
    [CRED] => 10.34 
    [COM] => 2.00 
    [MSG] => 
    [STATUS] => 3 
) 

數據See Live DEMO

+0

使用的SimpleXMLElement是生產以下: PHP的警告:的SimpleXMLElement :: __結構():命名空間警告:的xmlns:URI Service_mb不是絕對 我收到來自服務供應商的響應,付款處理器在這種情況下。 – Dave

+0

然後你給的信息是不完整的,只是加了現場演示 – Baba

+0

這個頭文件到xml的響應是: <?xml version =「1.0」encoding =「utf-8」?> Dave

0

你需要提取與像XPath的XML解析器