0

我想使用相应区域的邮政编码创建一个用于搜索属性的应用程序,并在谷歌地图上找到它们。我正在测试谷歌的教程以使用 PHP/MySql 的地图,但停留在 XML 中。它给了我这个错误:-此页面包含以下错误:

第 2 行第 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;

?>
4

1 回答 1

2

大多数情况下,当没有看到 XML 根元素或不唯一时,就会出现此错误!

在您的情况下:我猜您的 XML 创建因 die() 而失败,并且您解析此 PHP 输出的外部脚本不会将其识别为有效的 XML?!

StasGrin 上面的评论也可能是一个好点:最后删除前面的空白!两者都会呈现空白,但这也会导致 PHP 错误/警告:

Warning: Cannot modify header information - headers already sent by (output started at …) in …
于 2012-11-27T13:27:14.203 回答