2013-06-11 3 views
0

Я предполагаю, что этот вопрос не является конкретным вопросом Sage Pay, хотя он упоминается в связи с моей проблемой, поэтому надеюсь, что вы сможете помочь мне в этой сложной проблеме.Чтение из XML-файла (Sage Pay Reporting API)

Вот что я хочу сделать:

  • Основная задача состоит в том, чтобы извлекать данные из API Sage Pay Reporting - работает как шарм
  • чтения и собирать переменные из выходного файла XML - не

Код ниже показывает список транзакций после перенаправления меня на сайт Sage Pay, но я просто не могу понять, как получить, например, количество одной транзакции и хранить ее.

Вот что xml output выглядит следующим образом:

Любые ответы/решения? Я ценю вашу помощь!

<? 

$command = 'getTransactionList'; 
$vendor = 'vendorname'; 
$user = 'username'; 
$password = 'pwd'; 
$startdate = '01/05/2013 00:00:01'; 
$enddate = '31/05/2013 23:59:59'; 

$string = '<command>'.$command.'</command><vendor>'.$vendor.'</vendor><user>'.$user.'</user><startdate>'.$startdate.'</startdate><enddate>'.$enddate.'</enddate>'; 


$crypt = MD5($string . '<password>' . $password . '</password>'); 

$curl = curl_init('https://test.sagepay.com/access/access.htm'); 
curl_setopt($curl, CURLOPT_FAILONERROR, true); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
$result = curl_exec($curl); 

$rxml = simplexml_load_string($result); 
echo $rxml->transactions->transaction[0]->amount; 

?> 

<HTML> 

<BODY> 


<form method="post" action="https://test.sagepay.com/access/access.htm"> 

<input type="hidden" name="XML" value="<vspaccess><?php echo $string; ?><signature><?php echo $crypt; ?></signature></vspaccess>"> 
<input type="submit" name="Button" value="Send"> 

</form> 
</BODY> 
</HTML> 
+0

Показать XML, который вы получаете в '$ result' (удалить любые финансовые или личные данные). – MrCode

+0

Если вы хотите анализировать XML, важным битом является не то, как вы подключаетесь к внешнему компьютеру для загрузки данных, но как выглядят загруженные данные XML (что вы не говорите). –

+0

Спасибо, мистер Коде и Альваро. У меня уже был выход в моей публикации, когда я заметил, что мне нужно иметь репутацию 10, чтобы показать это. Попробуем это по-другому ... – Kleni

ответ

1

Заменить $ rxml = simplexml_load_string ($ result);

с

$ rxml = новый SimpleXMLElement ($ результат);

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