2014-02-11 43 views
2

我試圖讓Google Store定位器使用MYSQL和PHP,我認爲我遇到的第一個問題是XML尚未成功創建。商店定位器腳本有點複雜,所以我試圖將其分解爲更簡單的代碼,以便我可以調試究竟發生了什麼。下面是我用來嘗試獲取一個簡單的XML文檔的代碼。它只是給我一個空白的屏幕,但沒有XML輸出。爲什麼會發生這種情況?在PHP腳本中不輸出XML

<?php 
$dom = new DOMDocument("1.0"); 
$node = $dom->createElement("markers"); 
$parnode = $dom->appendChild($node); 

header("Content-type: text/xml"); 

$parnode->setAttribute("name", 'test'); 

echo $dom->saveXML(); 
?> 
+1

它真的給你一個空白頁嗎?查看頁面源代碼,你可能會看到你的XML爲'<?xml version =「1.0」?>' - 你的代碼確實有效,在創建DOMDocument時沒有任何其他問題目的。 –

+0

否則,當預計輸出時,PHP中的空白頁面意味着致命錯誤 - 請查看錯誤日誌。在屏幕上錯誤報告並顯示錯誤error_reporting(E_ALL); ini_set('display_errors',1);' –

+0

對於測試的確,有時更容易切換到'plain/text'來查看輸出爲純XML(與RSS Feeds不同)不會被特別渲染。 – MackieeE

回答

2

你張貼的代碼是正確的產生,並通過DOMDocument顯示一個新的XML文檔。當運行它,我得到的輸出:

<?xml version="1.0"?><markers name="test"/> 

像往常一樣用PHP,當你得到一個空白頁,而另有期待輸出,確保error_reporting開啓一路攀升到E_ALL,總是在發展,你應該啓用display_errors。對於一個快速測試,以

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

這些設置在運行時由於你的代碼應該工作,你將尋找有關的DOMDocument的實例,這是在php-xml擴展提供錯誤。