情況:
串接一個 SOAP 的 API,有收到回應,可以 echo 出來資料
用 simplexml_load_string 將 xml 格式的資料解析後卻無法取得資料
echo $response.'<br><br>';
// 顯示:<info><DataRow><Num>1</Num><success>N</success></DataRow></info>
$xml=simplexml_load_string($response);
var_dump($xml);
// 顯示:object(SimpleXMLElement)#1 (0) { }
我試著用 php -a
執行你的程式碼,看起來可以正常解析。
$ php -a
Interactive shell
php > $response = '<info><DataRow><Num>1</Num><success>N</success></DataRow></info>';
php > $xml = simplexml_load_string($response);
php > var_dump($xml);
object(SimpleXMLElement)#1 (1) {
["DataRow"]=>
object(SimpleXMLElement)#2 (2) {
["Num"]=>
string(1) "1"
["success"]=>
string(1) "N"
}
}
php >
你可以試試看執行 php -m | grep xml
看看是不是 XML 相關的 extension 沒有裝。