Я представляю содержимое формы HTML сторонней службе с использованием cURL, и он отстреливает ответ XML. Но независимо от того, что я делаю, я не могу разобрать этот ответ XML, чтобы настроить отображение результатов.Анализ неполадок XML-ответа от curl_exec
Вот код для обработки формы (обратите внимание на несколько идентификационных номеров, были подвергнуты цензуре):
<?php
$FirstName = $_POST['FirstName'] ;
$LastName = $_POST['LastName'] ;
$Zip = $_POST['Zip'] ;
$EmailAddress = $_POST['EmailAddress'] ;
$PrimaryPhoneNumber = $_POST['PrimaryPhoneNumber'] ;
$DateofBirth = $_POST['DateofBirth'] ;
$myvars = '&VID=' . '****' . '&LID=' . '****' . '&AID=' . '****' . '&FirstName=' . $FirstName . '&LastName=' . $LastName .
'&EmailAddress=' . $EmailAddress . '&PrimaryPhoneNumber=' . $PrimaryPhoneNumber . '&Zip=' . $Zip . '&DateofBirth=' . $DateofBirth;
if ($FirstName!='' && $LastName!='' && $Zip!='' && $EmailAddress!='' && $PrimaryPhoneNumber!='' && $DateofBirth!='') {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'http://secure.leadexec.net/leadimport.asmx/LeadReceiver');
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $myvars);
curl_exec ($c);
curl_close ($c);
} else {
echo '<p>Please make sure you have filled out the form completely</p>';
}
?>
Это необработанное выход ответ я получаю обратно:
<?xml version="1.0" encoding="utf-8"?>
<PostResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.leadproweb.com/">
<isValidPost>false</isValidPost>
<ResponseType>Duplicate_Lead</ResponseType>
<ResponseDetails>Duplicate Lead, Last Received On: 9/27/2013 2:17:26 PM</ResponseDetails>
<LeadIdentifier>20889333</LeadIdentifier>
<VendorAccountAssigned>0</VendorAccountAssigned>
<PendingQCReview>false</PendingQCReview>
<Price>0</Price>
<RedirectURL />
</PostResponse>
When Я пытаюсь использовать такие методы, как SimpleXmlElement или simplexml_load_string() для анализа XML, они, кажется, игнорируются, и я не могу избавиться от необработанного вывода XML, если не удалю curl_exec ($ c) линия.
Есть ли что-то, что я делаю неправильно?
Вы пытались назначить вывод: '$ response = curl_exec ($ c);'? Как вы планировали его разобрать? – Floris
Да, я попытался сделать именно это, а затем выполнил 'print_r ($ response);' но это не дает мне никакого результата. – Evster
@Evster Каков результат 'var_dump ($ response);'? –