2013-12-12 54 views
0

HI我想創建一個PHP的XML文件,第一次和它的作品,但佈局不是很正確,我想故障處理XML的格式使用PHP的DOMDocument

<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連接填充。

我已經試過尋找網絡,但沒有遇到過不同佈局上的很多例子,感謝任何幫助或指針在正確的方向。

回答

0

無法重現問題。簡化了不DB數據來測試:

// 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(); 

輸出(prettyfied):

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

可以測試online

+0

這就是問題我有是中嵌套我想<標記集我的屬性> https://developers.google.com/maps/articles/phpsqlajax_v3遵循本教程和示例xml是我試圖實現的。 – user2247671

+0

我告訴你,它工作。已清除緩存? – hek2mgl