所以我正在使用curl和POST方法,將信息傳送到服務器,然後在XML.I的形式從該服務器取回信息的PHP腳本,然後想借此信息並將其解析爲用戶可讀的格式。捲曲和ヶ輛剝離XML標籤
我使用捲曲抓住信息,並將其加載到一個變量($結果),然後我要加載到的SimpleXML和存儲在變量$ routeinfo。但是,當我執行var_dump($ routeinfo)時,看起來並沒有存儲任何數據。我已經通過迴應確認$ result中存在數據。
我也想通這可能是由於XML沒有顯示在瀏覽器的時候我呼應$結果(但它的存在,如果我檢查源)。只是爲了檢查,雖然我使用了htmlentities,但是會導致很多錯誤,因爲<被解釋爲與html等效。無論如何,我已經達成了一個共識,並且已經記錄了幾個小時來實施不同的建議而無濟於事。我的代碼如下,我將不勝感激任何可以呈現的幫助。
<?php
//retrieve form data in a variable
$input = $_POST['stopNo'] ;
//declare other variables needed
$api_key = 'xxxkey' ;
$api_id = 12345 ;
$url = 'url to send data to' ;
$querystring = "appID=". $api_id . "&apiKey=" . $api_key . "&stopNo" . $input ;
$data = urlencode($url) ;
//curl using
$ch = curl_init() ;
//set up curl
curl_setopt($ch, CURLOPT_URL, 'urlsendingdatato');
curl_setopt($ch, CURLOPT_POSTFIELDS, 'appID='.urlencode($api_id).'&apiKey=' .urlencode($api_key) . '&stopNo=' .urlencode($input));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0) ;
curl_setopt($ch, CURLOPT_ENCODING, "UTF-8") ;
curl_setopt($ch, CURLOPT_BINARYTRANSFER , TRUE) ;
//execute and gather info
$result = curl_exec($ch) ;
//close connection
curl_close($ch) ;
//format data
//ent at the moment serves no purpose doesn't render the information correctly
$ent = htmlentities($result);
$routeinfo = new SimpleXMLElement($result) ;
//print data
echo "<br> $result <br>" ;
var_dump($routeinfo) ;
?>
現在我試着再次直接從捲曲(所以$結果)將數據加載到simplexml_load_string($結果)另一件事然而,當我做了dump_var或print_r的上,它只是顯示一個空數組。但是,自己回顯$結果表明存在數據。 –