2017-05-29 66 views
0

我遇到以下問題:以.php爲擴展名導入XML

我有以下url http://www.forklift-international.com/nl/verwaltung/cgi/xmlexport.php。 這是一個php文件,但它應該用作XML。現在,當我查看頁面源時,它顯示了我的XML,但我無法將數據導入到我的網站。

我嘗試以下方法:

1. $objDOM = new DOMDocument(); 
    $test = $objDOM->load("http://www.forklift-international.com/nl/verwaltung/cgi/xmlexport.php"); 


2. $nodes = simplexml_load_file("http://www.forklift-international.com/nl/verwaltung/cgi/xmlexport.php"); 


3. $xml=simplexml_load_string('http://www.forklift-international.com/nl/verwaltung/cgi/xmlexport.php') or die("Error: Cannot create object"); 

但遺憾的是上述所有函數返回一個錯誤,我認爲它與PHP擴展做。 是否可以將該文件導入爲XML?

提前致謝!

+2

我得到提示輸入用戶名/密碼,試圖訪問該網址。既然如此,你可能需要使用curl並設置正確的授權頭,然後繼續將響應加載到'DOMDocument' – RamRaider

+2

「我認爲它與.php擴展有關」 - 事實並非如此。在URL中沒有這樣的文件擴展名。只是一個內容類型的標題。 – Quentin

+2

你的問題與XML沒有任何關係。您正試圖從互聯網上下載受密碼保護的資源,並且您不會進行任何身份驗證嘗試。如果您啓用PHP錯誤報告,您可能會看到警告。 –

回答

0

好像我明白了:

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, "http://www.forklift-international.com/nl/verwaltung/cgi/xmlexport.php"); 
curl_setopt($ch, CURLOPT_USERPWD, 'username' . ':' . 'password'); 
$result = curl_exec($ch); 
curl_close($ch); 

$xml = simplexml_load_string($result); 

這爲我提供正確的數據。所以就像昆汀說的那樣,與延期無關,只是通過認證。

感謝您的回覆!

-1

可能是因爲我們需要一個代碼來訪問頁面? .php爲不會改變任何東西VS將.xml