Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php xml关闭标记关闭不正确_Php_Xml_Google Maps_Google Maps Api 3 - Fatal编程技术网

Php 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

我正在使用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("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();

我再也看不到用这段代码创建的标记了,尽管从我看来它应该是有效的…当它全部在索引上时,我已经让它工作了,这对我来说是有效的!谢谢为什么要这样做?这应该如何解决问题?这段代码应该修复的问题到底是什么?