Ben sorun simplexml_load_file işlevini kullanarak bir dosyadan XML alıyorum yaşıyorum. Googling denedim, ama herkes gerçek bir hata veya uyarı olsun sorunları var gibi görünüyor. Ben hiçbir hata ve uyarıları almak, ama ben bunu ne zaman:
$sims = simplexml_load_file("http://my-url.com/xml.php") or die("Unable to load XML file!");
var_dump($sims);
çıktı:
object(SimpleXMLElement)#1 (1) {
[0]=>
string(1) "
"
}
Ancak, ben bunu yaparsam:
$ch = curl_init("http://my-url.com/xml.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
çıktı:
<?xml version="1.0"?>
<simulators>
<simulator>
<mac>00-1A-4D-93-27-EC</mac>
<friendlyName>a Travis Desk</friendlyName>
<roundSessions>2</roundSessions>
<rangeSessions>0</rangeSessions>
<timePlayed>00:03:21</timePlayed>
</simulator>
</simulators>
Bunu yaparak çalışmak için onu aldık:
$ch = curl_init("http://my-url.com/xml.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$sims = simplexml_load_string($output) or die("Unable to load XML file!");
var_dump($sims);
hangi çıkışları:
object(SimpleXMLElement)#1 (1) {
["simulator"]=>
object(SimpleXMLElement)#2 (5) {
["mac"]=>
string(17) "00-1A-4D-93-27-EC"
["friendlyName"]=>
string(13) "a Travis Desk"
["roundSessions"]=>
string(1) "2"
["rangeSessions"]=>
string(1) "0"
["timePlayed"]=>
string(8) "00:03:21"
}
}
İlk yöntem işe yaramadı neden merak ediyorum? Ben PHP Version 5.3.2-1ubuntu4.5 ve Ubuntu Server'da 10.04 üzerinde çalışan libxml Sürüm 2.7.6 var.
Teşekkürler!
-Travis