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