我經Curl接收與PHP與此代碼生成的XML讀取XML:不能用SimpleXML
$c = curl_init("http://www.domain.com/script.php");
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$xmlstr = curl_exec($c);
如果我附和$ xmlstr變量它顯示以下內容:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<XGetPasoParadaREGResponse xmlns="http://tempuri.org/">
<XGetPasoParadaREGResult>
<PasoParada><cabecera>false</cabecera>
<e1>
<minutos>1</minutos>
<metros>272</metros>
<tipo>NORMAL</tipo>
</e1>
<e2>
<minutos>7</minutos>
<metros>1504</metros>
<tipo>NORMAL</tipo>
</e2><linea>28
</linea>
<parada>376</parada>
<ruta>PARQUE ALCOSA</ruta>
</PasoParada>
</XGetPasoParadaREGResult><status>1</status></XGetPasoParadaREGResponse>
</soap:Body>
</soap:Envelope>
這是正確的,並在腳本生成相同。但是,如果我嘗試執行以下操作:
$xml = simplexml_load_string($xmlstr);
if (!is_object($xml))
throw new Exception('Reading XML error',1001);
echo $xml->e1->minutos;
不顯示任何內容並且print_r對象打印一個空對象。什麼可能是錯的?
當你var_dump($ xml)''時,你會得到什麼? – 2011-06-07 18:39:00
object(SimpleXMLElement)#1(0){}但字符串是好的,並且如果保存爲XML在每個瀏覽器中都能很好地解釋。 – 2011-06-07 18:45:42