使用PHP domDocument的xml格式有问题


Trouble with format of xml using PHP domDocument

HI我第一次尝试在php中创建一个XML文件,它可以工作,但布局不太正确我想要

<Markers>
  <marker></marker>
  <marker></marker>
   etc
</Markers>

相反,我有

<markers>
 <marker>
    <marker>
       <marker>
       </marker>
    </marker>
   </marker>
 </markers>

<?PHP
  require("phpsqlajax_dbinfo.php");
  // Start XML file, create parent node
  $dom=new DOMDocument("1.0");
  $node=$dom->createElement("markers");
  $parnode=$dom->appendChild($node); 

  // Iterate through the rows, adding XML nodes for each
  while (odbc_fetch_row($result)){
     $node = $dom->createElement("marker");  
     $newnode = $parnode->appendChild($node);   
     $newnode->setAttribute("traffic",odbc_result($result,"TRAFFIC"));
     $newnode->setAttribute("latitude",odbc_result($result,"LATITUDE"));  
     $newnode->setAttribute("longitude",odbc_result($result,"LONGITUDE"));  
    } 
    echo $dom->saveXML();

我正在通过ODBC连接进行填充。

我试着在网上四处寻找,但没有发现很多不同布局的例子,感谢你的帮助或正确的方向。

无法重现问题。已简化为无数据库数据的测试:

// Start XML file, create parent node
$dom=new DOMDocument("1.0");
$node=$dom->createElement("markers");
$parnode=$dom->appendChild($node); 
// Iterate through the rows, adding XML nodes for each
for ($i = 0; $i < 3; $i++){
   $node = $dom->createElement("marker");  
   $newnode = $parnode->appendChild($node);   
   $newnode->setAttribute('foo', 'bar');
}   
echo $dom->saveXML();

输出(预定义):

<?xml version="1.0"?>
<markers>
  <marker foo="bar"/>
  <marker foo="bar"/>
  <marker foo="bar"/>
</markers>

可以在线测试