php - usar - "Error de análisis XML: elemento basura después del documento"
usar mysql y php con google maps (1)
El nodo raíz es <transportpublic>
pero el mensaje de error muestra una etiqueta de cierre falsa </html>
justo antes. El analizador XML probablemente piense que <html>
es el nodo raíz, por lo tanto, el resto del XML es el elemento basura después del documento mencionado por el error.
Hola a todos, estoy intentando mostrar un mapa de Google con ubicaciones dinámicas recuperar de la base de datos Estaba siguiendo developers.google.com/maps/articles en phpsqlajax_v3 . Creé la base de datos y la tabla se ve así:
trnsportpublic table
transportpublicid int 11 AUTOINCREMENTO
transportType varchar 60
costPerKm decimal (7,2)
dirección varchar 800
teleNo int 10
webLink varchar 300
descripción varchar 800
lat doble (10,6)
lng doble (10,6)
GenerateXml.php
<?php
require("db_connection.php");
function parseToXML($htmlStr)
{
$xmlStr=str_replace(''<'',''<'',$htmlStr);
$xmlStr=str_replace(''>'',''>'',$xmlStr);
$xmlStr=str_replace(''"'',''"'',$xmlStr);
$xmlStr=str_replace("''",''''',$xmlStr); // line 11
$xmlStr=str_replace("&",''&'',$xmlStr);
return $xmlStr;
}
// Select all the rows in the markers table
$query = "SELECT transportType,costPerKm,address,teleNo,webLink,lat,lng FROM transportpublic";
$result = mysql_query($query);
if (!$result)
{
die(''Invalid query: '' . mysql_error());
}
header("Content-type: text/xml");
// Start XML file, echo parent node
echo ''<transportpublic>'';
// Iterate through the rows, printing XML nodes for each
while ($row = mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo ''<marker '';
echo ''transportType="'' . parseToXML($row[''transportType'']) . ''" '';
echo ''costPerKm="'' . $row[''costPerKm''] . ''" '';
echo ''address="'' . parseToXML($row[''address'']) . ''" '';
echo ''teleNo="'' . $row[''teleNo''] . ''" '';
echo ''webLink="'' . parseToXML($row[''webLink'']) . ''" '';
echo ''lat="'' . $row[''lat''] . ''" '';
echo ''lng="'' . $row[''lng''] . ''" '';
echo ''/>'';
}
// End XML file
echo ''</transportpublic>'';
?>
Cuando ejecuto GenerateXml.php en el navegador me da fluidez
XML Parsing Error: junk after document element
Location: http://localhost:8080/testserver/generateXml.php
Line Number 11, Column 8:
</html>
<transportpublic>
<marker transportType="Bus" costPerKm="1.50" address="abc" teleNo="112554476" webLink="http://www.abc.html" lat="0.000000" lng="0.000000" />
<marker transportType="Train" costPerKm="12.00" address="abc" teleNo="118745963" webLink="http://www.abc.html" lat="0.000000" lng="0.000000" />
<marker transportType="hmmmm" costPerKm="40.00" address="abc" teleNo="112541254" webLink="http://www.abc.html" lat="-33.005985" lng="-58.501824" />
<marker transportType="test" costPerKm="2.00" address="abc" teleNo="112541258" webLink="http://www.abc.html" lat="39.785999" lng="-75.041976" />
<marker transportType="test2" costPerKm="2.00" address="abc" teleNo="112541254" webLink="http://www.abc.html" lat="6.901698" lng="79.853854" />
</transportpublic>
-------^
Solo llegué a saber que después del elemento raíz no debería analizar ningún dato, se tomará como basura, pero en mi GenerateXml.php no hago nada después de esta línea.
echo ''</transportpublic>'';
ayudame por favor.