2016-10-04 18 views
-2
$xml = simplexml_load_file('http://quest7.myddt.com.br/serverlist.ashx'); 

echo $xml->Result->Item->Port; 

//echo '<pre>'; 
//var_dump($xml); 

錯誤的性質:試圖讓非對象是什麼修復的財產?試圖讓非objec

+0

從[documentation](http://php.net/manual/en/function.simplexml-load-file.php)*「返回一個SimpleXMLElement類的對象,其中的屬性包含XML中保存的數據cument,**或失敗失敗**。「*你的'var_dump'說了些什麼? –

+0

如果'$ xml'作爲對象返回,請確保您正確訪問數據。根據[this](http://php.net/manual/en/simplexml.examples-basic.php),您可以像訪問數組元素一樣訪問元素的屬性。 –

+0

@Memor-X什麼? – Guilherme

回答

1

根元素被加載,所以跳過Result然後PortItem一個屬性,所以你引用它像一個數組索引:

<?php 

$xml = simplexml_load_file('http://quest7.myddt.com.br/serverlist.ashx'); 

if ($xml !== false){ 
    echo $xml->Item['Port']; 
} else { 
    echo "something went wrong..."; 
} 
+0

問題是如果'simplexml_load_file'返回false,我得到的錯誤仍然會發生[這裏](https://repl.it/Dn73)(儘管可能只是我的連接)。理想情況下,你應該檢查'$ xml'是否是假的,然後再嘗試用它作爲對象 –

+0

@Memor-X夠公平 - 我更新了我的答案,謝謝! –