I2B*_*eve 3 php google-maps-api-3 xml-parsing
大家好,我试图用动态的位置从数据库中检索,我下面显示谷歌地图上phpsqlajax_v3 developers.google.com/maps/articles。我创建的数据库和表看起来像这样
运输公共表
transportpublicid int 11 AUTOINCREMENT
运输类型 varchar 60
costPerKm 十进制(7,2)
地址 varchar 800
电话号码 int 10
webLink varchar 300
描述 varchar 800
纬度双(10,6)
lng double(10,6)
生成Xml.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>';
?>
Run Code Online (Sandbox Code Playgroud)
当我在浏览器上运行GenerateXml.php时给我填充
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>
-------^
Run Code Online (Sandbox Code Playgroud)
我只知道在根元素之后我不应该解析任何数据,它会被视为垃圾,但在我的 GenerateXml.php 中,我在这行之后什么都不做
echo '</transportpublic>';
Run Code Online (Sandbox Code Playgroud)
请帮帮我。
根节点是,<transportpublic>但错误消息</html>在它之前显示了一个虚假的关闭标签。XML 解析器可能认为这<html>是根节点,因此 XML 的其余部分是错误提到的文档元素之后的垃圾。