2012-11-28 59 views
0
$xml = new DOMDocument(); 
$root=$xml->createElement("ROOT"); 
$xml->appendChild($root); 

$data=$xml->createElement("DATA"); 

while($row=db_fetch_object($result)) 
{ 
    $data=$xml->createElement("ITEM"); 
    $item->setAttribute("COMPANY",$row->field_windmill_fabrikant_value); 
    $item->setAttribute("HEIGHT",$row->field_windmill_ashoogte_value); 
    $item->setAttribute("POWER",$row->field_windmill_vermogen_value); 
    $item->setAttribute("LOCATION",$row->field_windmill_provincie_value); 
    $item->setAttribute("START_YEAR",$row->field_windmill_startjaar_value); 
    $data->appendChild($item); 
} 

$root->appendChild($data); 
echo $xml->saveXML(); 

這裏我想將ITEM作爲子節點添加到數據,但ITEM正在追加到項目而不是數據。我使用PHP。 任何人都可以幫忙。 謝謝。如何使用php在while循環中創建子xml節點

回答

0

只是這個

$item=$xml->createElement("ITEM"); 

結果替換

$data=$xml->createElement("ITEM"); 

<?xml version="1.0"?> 
<ROOT> 
    <DATA> 
     <ITEM COMPANY="COMPANY0" HEIGHT="HEIGHT0" POWER="POWER0" LOCATION="LOCATION0" START_YEAR="START_YEAR0"/> 
     <ITEM COMPANY="COMPANY1" HEIGHT="HEIGHT1" POWER="POWER1" LOCATION="LOCATION1" START_YEAR="START_YEAR1"/> 
     <ITEM COMPANY="COMPANY2" HEIGHT="HEIGHT2" POWER="POWER2" LOCATION="LOCATION2" START_YEAR="START_YEAR2"/> 
    </DATA> 
</ROOT> 
+0

但我要項追加到的數據。如果我這樣做它可以工作 $ item = $ xml-> createElement(「ITEM」,「」);在while循環中。 ITEM被附加到DATA節點中的ITEM。 另外,我需要幫助保存xml文件。如果我嘗試使用$ xml-> saveXML(「at.xml」)保存xml文件;它會拋出一個錯誤。 – user1858991

+0

對不起?不明白你想要什麼。你可以請示例你想要的XML? – Nemutaisama

+0

也用於保存文件['$ xml-> save('filename');'](http://www.php.net/manual/en/domdocument.save.php) – Nemutaisama

相關問題