Php xml关闭标记关闭不正确
我正在使用google map api v3,并正在创建如下xml数据:Php xml关闭标记关闭不正确,php,xml,google-maps,google-maps-api-3,Php,Xml,Google Maps,Google Maps Api 3,我正在使用google map api v3,并正在创建如下xml数据: while ($row = @mysql_fetch_assoc($result)){ $node = $dom->createElement("marker"); $newnode = $parnode->appendChild($node); $newnode->setAttribute("name", $row['name']); $newnode->setAttribute("add
while ($row = @mysql_fetch_assoc($result)){
$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']);
}
echo $dom->saveXML();
这在源代码中为我提供了以下结果:
<markers>
<marker name="Test Item 1" address="939 W El Camino Real, Mountain View, CA" lat="37.386337" lng="-122.085823" distance="27.109728219880356"/>
<marker name="Test Item 2" address="790 Castro St, Mountain View, CA" lat="37.387138" lng="-122.083237" distance="27.139837055162673"/>
</markers>
应该没有问题,但当我检查元素时,它们略有不同
<markers>
<marker name="Test Item 1" address="939 W El Camino Real, Mountain View, CA" lat="37.386337" lng="-122.085823" distance="27.109728219880356">
<marker name="Test Item 2" address="790 Castro St, Mountain View, CA" lat="37.387138" lng="-122.083237" distance="27.139837055162673"></marker>
</marker>
</markers>
这当然是错误的。目前,在运行搜索后,虽然该标记数据是在页面上创建的,但它不会拾取结果,搜索会转储到太平洋中,而地图上没有生成标记
我不确定这些是否是相关问题,两者都需要解决,但如果源代码是错误的,并且检查的元素代码是浏览器看到的,那么我认为需要首先解决。谢谢 你能试试这个吗
$dom = new DOMDocument('1.0');
$dom->formatOutput = true;
$parnode = $dom->createElement("markers");
$dom->appendChild($parnode);
while ($row = @mysql_fetch_assoc($result)){
$node = $dom->createElement("marker");
$node->setAttribute("name", $row['name']);
$node->setAttribute("address", $row['address']);
$node->setAttribute("lat", $row['lat']);
$node->setAttribute("lng", $row['lng']);
$node->setAttribute("distance", $row['distance']);
$parnode->appendChild($node);
}
echo $dom->saveXML();
我再也看不到用这段代码创建的标记了,尽管从我看来它应该是有效的…当它全部在索引上时,我已经让它工作了,这对我来说是有效的!谢谢为什么要这样做?这应该如何解决问题?这段代码应该修复的问题到底是什么?