使用php从xml中删除元素


removing elements from xml with php

我正在构建一个iphone应用程序,它允许人们通过向php脚本发送POST来更新xml文件。在他们将帖子发送到php脚本并更新xml之后,我希望用户能够取消对xml的更新。如何从XML中只删除一个元素,并将XML文件重写到服务器上的同一位置(换句话说,现在只有一个元素不见了,其他一切都一样)?为了添加一个元素,我使用了如下代码:

$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脚本时,我有元素的属性来标识要删除的内容。谢谢你的帮助。

THIS可能重复。

从你的代码片段中,我真的不知道给出了什么数据。你可以试着做

unset($bartenders[$newBar_ID]);

$bartenders->removeChild($bartenders[$newBar_ID]);

我想。。。我是根据谷歌搜索到的代码片段写的,从来没有测试过。如果它有效与否,请随时给我反馈。