2013-06-11 7 views
0

Я ноб у curl и xml, но я искал этот сайт и сеть для ответа на этот вопрос, и ничего, что я нашел, не работает.Преобразование ответа cURL в переменные

Я отправляю XML, используя cURL, и служба получателя получает данные правильно и создает ответ, который я получаю. Отклик echo'd из 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: Dave

0

Вам нужно извлечь данные с XML-парсер, как XPath

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