0
我正在構建一個iPhone應用程序,它允許人們通過發送POST到PHP腳本更新XML文件。在他們發送帖子到php腳本並更新了xml之後,我希望用戶能夠取消對XML的更新。如何從XML中只刪除一個元素,並將XML文件重寫到服務器上的相同位置(換句話說,只有一個元素現在消失了,其他所有內容都是相同的)?要添加我使用的代碼看起來像下面的元素:從XML中刪除元素與PHP
$xmlUrl = "Bars.xml"; // XML
$xmlStr = file_get_contents($xmlUrl);
$xml = new SimpleXMLElement($xmlStr);
$bartenders = $xml->xpath('//Bartenders');
$new_bartender = $bartenders[$newBar_ID]->addChild('Bartender');
$new_bartender->fname = $newfname;
$new_bartender->lname = $newlname;
$new_bartender->imageURL = $newimageURL;
$new_bartender->shift = $newShift;
print_r($bartenders);
$xml->asXML('Bars.xml');
當我發送POST方法PHP腳本,我有元素的屬性,以確定將被刪除。 感謝您的幫助。
這種方法對於多個同時請求是不安全的。如果兩個應用程序同時觸發php腳本,則可能會在寫入xml文件時讀取它(因此被視爲無效的xml)。考慮使用真正的xml數據庫,將xml存儲在關係數據庫中,或者至少使用文件鎖定或原子文件寫入。 – 2012-04-05 03:48:51
@FrancisAvila感謝您的意見。該應用程序將用於小型圖形區域,只有少數人可以更新。然而,瞭解更多信息會很有趣。你知道有什麼好的資源可以讓我加快速度嗎? – thebiglebowski11 2012-04-05 13:48:51