Ankush Kalia
Ankush Kalia

Reputation: 122

XML Extra content at the end of the document (Using PHP SimpleXML)

I want to create a app for search properties with zip code of corresponding areas and locate them on google map.I am testing Google's tutorial to use Maps with PHP/MySql but stuck in XML. Its giving me this error:- This page contains the following errors:

error on line 2 at column 1: Extra content at the end of the document Below is a rendering of the page up to the first error.

This is the Code:

    <?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;

?>

Upvotes: 0

Views: 2671

Answers (1)

childno͡.de
childno͡.de

Reputation: 4816

mostly this error results when no XML Root element is seen or not unique!

in your case: I guess your XML creation failed with an die() and your external script parsing this PHP output will not recognize it as a valid XML?!

Also the comment above by StasGrin might be a good point: Remove the blanks in front of in the end! Both will render blanks, but this should also result in an PHP Error / Warning:

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

Upvotes: 2

Related Questions