2011-01-08 61 views
0

工作很多後,我完成做一個XML閱讀器和作家...... 但我的問題是,我想,我插入新的數據使用我的表單將被添加到XML文件的頂部。在底部 而不是.. 讓我告訴你一個例子: 這是XML文件我怎麼能數據添加新的XML文件的開頭(實例內)

<?xml version="1.0" encoding="utf-8"?> 
<events> 

<record> 
<event>old event</event> 
<eventDate>1/1/2009</eventDate> 
<desc>old desc</desc> 
</record> 

<record> 
<event>newer event</event> 
<eventDate>12/12/2011</eventDate> 
<desc>newer desc</desc> 
</record> 

</events> 

現在.. 我想XML文件是這樣的:新數據然後舊數據

<?xml version="1.0" encoding="utf-8"?> 
<events> 

<record> 
<event>newer event</event> 
<eventDate>12/12/2011</eventDate> 
<desc>newer desc</desc> 
</record> 

<record> 
<event>old event</event> 
<eventDate>1/1/2009</eventDate> 
<desc>old desc</desc> 
</record> 

</events> 

這是我add.php(即獲得來自POST信息在main.html中的文件:

<?php 
$record = array(
'event' => $_POST['event'], 
'eventDate' => $_POST['eventDate'], 
'desc' => $_POST['desc'], 
); 

$doc = new DOMDocument(); 
$doc->load('events.xml'); 

$doc->formatOutput = true; 
$r = $doc->getElementsByTagName("events")->item(0); 

$b = $doc->createElement("record"); 

$event = $doc->createElement("event"); 
$event->appendChild(
$doc->createTextNode($record["event"]) 
); 
$b->appendChild($event); 

$eventDate = $doc->createElement("eventDate"); 
$eventDate->appendChild(
$doc->createTextNode($record["eventDate"]) 
); 
$b->appendChild($eventDate); 

$desc = $doc->createElement("desc"); 
$desc->appendChild(
$doc->createTextNode($record["desc"]) 
); 

$b->appendChild($desc); 
$r->appendChild($b); 

$doc->save("events.xml"); 

header("Location: {$_SERVER['HTTP_REFERER']}");  
?> 

我在哪裏需要修改,以便能夠使* XML我想要的嗎? *

+0

爲什麼?修改你的閱讀代碼以便以任何順序處理事件不是更好嗎? – ChrisF 2011-01-08 23:36:06

+0

我有幾個Iphone應用程序已經從這些XML文件中讀取數據,所以我想更改XML文件。 – Ofear 2011-01-08 23:42:39

回答

相關問題