我想为搜索属性创建一个应用程序,其中包含相应区域的邮政编码,并在谷歌地图上找到它们。我正在测试谷歌的教程,将地图与PHP / MySql一起使用,但卡在XML中。 它给了我这个错误: - 此页面包含以下错误:
第1行第2行的错误:文档末尾的额外内容 下面是第一个错误的页面呈现。
这是代码:
<?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;
?>
答案 0 :(得分:2)
如果没有看到XML Root元素或者不是唯一的,那么大多数会出现此错误!
在你的情况下:我猜你的XML创建失败了,并且你的外部脚本解析这个PHP输出并不会将它识别为有效的XML?!
StasGrin上面的评论也许是一个好点: 最后去掉前面的空白! 两者都将呈现空白,但这也应该导致PHP错误/警告:
Warning: Cannot modify header information - headers already sent by (output started at …) in …