0

我正在关注谷歌的谷歌地图教程:

https://developers.google.com/maps/articles/phpsqlajax_v3?hl=es

我这样格式化我的代码:

echo '<markers>';

// Iterate through the rows, adding XML nodes for each
for($i = 0; $i< $breweryNum; $i++ ){

    echo '<marker ';
    echo 'name="' . parseToXML($row['beerBrewery']) . '" ';
    echo 'lat="' . $row['lat'] . '" ';
    echo 'lng="' . $row['longi'] . '" ';
    echo '/>';


}

// End XML file
echo '</markers>';

但是当我运行 php 文件来测试我的 xml 时,我得到了这个:

XML Parsing Error: not well-formed
Location: http://beerportfolio.com/getMapMarkers.php
Line Number 1, Column 18:<markers><marker <br />
-----------------^
4

2 回答 2

2

您是使用 nl2br 还是 some 来输出结果字符串?

很明显的错误信息,在“ <markers><marker”输出标签“ <br />”之后,但这里应该是你的“名称”属性。无论如何,您可以使用以下代码来不输出错误的内容:

$out = '<markers>';
for($i = 0; $i< $breweryNum; $i++ ){

    $out .= '<marker ';
    $out .= 'name="' . parseToXML($row['beerBrewery']) . '" ';
    $out .= 'lat="' . $row['lat'] . '" ';
    $out .= 'lng="' . $row['longi'] . '" ';
    $out .= '/>';

}
$out .= '</markers>';
于 2013-03-27T18:02:53.633 回答
0

首先,XML 文件通常以它们的类型声明开始。这不是必需的,但很有帮助(即<?xml version="1.0" encoding="UTF-8" ?>

您似乎已<br />在您的 xml 中输出。您可能会发现做类似的事情更简单

$strOutput = '<markers>';

进而

$strOutput .= '<marker name="' . parseToXML($row['beerBrewery']) . '" lat="' . $row['lat'] . '" lng="' . $row['longi'] . '" />';

并关闭

$strOutput = '</markers>';
echo $strOutput;
于 2013-03-27T18:03:21.383 回答