“XML Parsing Error: junk after document element"
大家好,我正在尝试显示一个谷歌地图,其中包含从我关注的数据库中检索的动态位置 developer.google.com/maps/articles on phpsqlajax_v3.我创建了数据库,表格看起来像这样
Hey everyone I'm trying to display a Google map with dynamic locations retrieve from database I was following developers.google.com/maps/articles on phpsqlajax_v3.I created the database and the table looks like this
trnsportpublic 表
transportpublicid int 11 自动增量
transportpublicid int 11 AUTOINCREMENT
transportType varchar 60
transportType varchar 60
costPerKm 十进制(7,2)
costPerKm decimal(7,2)
地址 varchar 800
address varchar 800
teleNo int 10
teleNo int 10
webLink varchar 300
webLink varchar 300
描述 varchar 800
description varchar 800
纬度双(10,6)
lng double(10,6)
lng double(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>';
?>
当我在浏览器上运行 GenerateXml.php 时,我感到很兴奋
When I run GenerateXml.php on browser is gives me fillowing
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>
-------^
<小时>
我只知道在根元素之后我不应该解析任何数据,它将被视为垃圾,但在我的 GenerateXml.php 中,我在此行之后不做任何事情
I only got to know that after the root element I shouldn't be parsing any data it'll be taken as junk but in my GenerateXml.php i don't do anything after this line
echo '</transportpublic>';
<小时>
请帮帮我.
help me please.
推荐答案
根节点是<transportpublic>
但是错误信息显示一个伪造的</html>
在它之前关闭标签.XML 解析器可能认为 <html>
是根节点,因此 XML 的其余部分是错误提到的 文档元素之后的垃圾.
The root node is <transportpublic>
but the error message shows a bogus </html>
close tag right before it. The XML parser probably thinks that <html>
is the root node, thus the rest of the XML is the junk after document element mentioned by the error.
相关文章