2012-09-08 73 views
0

我想爲具有相應區域的郵政編碼的搜索屬性創建應用程序,並在Google地圖上找到它們。我正在測試Google的教程,以使用帶有PHP/MySql,但堅持在XML。 它給我這個錯誤: - 此頁包含以下錯誤:在第2行本文檔結尾處的XML附加內容(使用PHP SimpleXML)

誤差在1列:在文檔 年底額外內容下面是向上翻頁的渲染的第一個錯誤。

這是代碼:

<?php 
$username="root"; 
$password=""; 
$database="test"; 

// Start XML file, create parent node 
$dom = new DOMDocument("1.0"); 
$node = $dom->createElement("markers"); 
$parnode = $dom->appendChild($node); 


// Opens a connection to a MySQL server 
$connection=mysql_connect ('localhost', $username, $password); 
if (!$connection) { 
    die('Not connected : ' . mysql_error()); 
} 

// Set the active MySQL database 
$db_selected = mysql_select_db($database, $connection); 
if (!$db_selected) { 
    die ('Can\'t use db : ' . mysql_error()); 
} 

// Select all the rows in the markers table 
$query = "SELECT * FROM markers"; 
$result = mysql_query($query); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

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


// Iterate through the rows, adding XML nodes for each 
while ($row = @mysql_fetch_assoc($result)){ 
    // ADD TO XML DOCUMENT NODE 
    $node = $dom->createElement("marker"); 
    $newnode = $parnode->appendChild($node); 
    $newnode->setAttribute("name", $row['name']); 
    $newnode->setAttribute("address", $row['address']); 
    $newnode->setAttribute("lat", $row['lat']); 
    $newnode->setAttribute("lng", $row['lng']); 
    $newnode->setAttribute("distance", $row['distance']); 
} 

$smd=$dom->saveXML(); 
echo $smd; 

?> 
+2

試了一下,在第2行沒有得到一個錯誤! – JvdBerg

+0

發送標題時會出錯,在代碼前有空格的第一行'<?php'會出現錯誤。並且還要檢查任何echo \ includes之前。 – StasGrin

回答

2

大多是在沒有XML根元素中看到或不是唯一的這個錯誤的結果!

你的情況:我猜你的XML創建失敗,並且你的外部腳本解析這個PHP輸出不會將它識別爲有效的XML?!

也高於通過StasGrin的評論可能是一個好點: 在前面到底刪除的空白! 雙方將呈現空白,但是這也應該導致PHP錯誤/警告:

Warning: Cannot modify header information - headers already sent by (output started at …) in … 
相關問題