2011-09-27 39 views
1
$xmlDoc = new DOMDocument(); 

$url = 'http://domain.com/london/rss'; 

$key='item'; 

if($xmlDoc->load($url)) 

{ 
    $items = $xmlDoc->getElementsByTagName($key); 
    if($items) 
     { 
      for($i=0; $i<$items->length; $i++) 
       { 
        foreach($items->item($i)->childNodes as $childnode){ 
         echo $childnode->nodeValue; 
        } 
       } 
     } 
} 

我使用上面的代碼從遠程XML搶的細節,而是同時加載XML它顯示在客戶端服務器下面警告消息。警告而來自其它站點裝載XML飼料

相同的代碼在我的本地機器和其他服務器上正常工作。

Warning: DOMDocument::load() [domdocument.load]: Document is empty in http://domain.com/london/rss, line: 1 in /var/sites/d/mydomain.com/public_html/loadXML.php on line 5 

Warning: DOMDocument::load() [domdocument.load]: Start tag expected, '<' not found in http://domain.com/london/rss, line: 1 in /var/sites/d/mydomain.com/public_html/loadXML.php on line 5 
+0

當你從服務器「wget http:// domain.com/london/rss」並查看它時會發生什麼?它看起來像有效的XML嗎? – nachito

+0

服務器和外部世界之間是否存在阻止請求的防火牆或代理? –

+0

實際的網址爲http://kgbdeals.co.uk/london/rss。它在我的本地機器和其他服務器上工作正常 –

回答

1

我認爲錯誤是相當不言自明的:該文件不存在或爲空。最有可能的是,你會得到一個404錯誤(找不到文件)或者結果不是XML文檔。將網址放入瀏覽器的地址欄中 - 然後看看你得到了什麼。

我用你的例子與網址http://twitter.com/statuses/user_timeline/ookl.xml,它工作得很好 - 沒有任何錯誤。

+1

OP聲稱,這可以在他的本地機器上運行,因此將URL放入瀏覽器的地址欄中可能會產生更多信息。從服務器**獲取URL **將是更好的建議。 – nachito