我创建了一个解析 xml 文档的 ios 应用程序。如果用户登录,他们的信息将被添加到 xml 文件中。如果用户正在注销或取消登录,我希望能够删除他们。本质上,我需要弄清楚如何删除如下所示的 xml 对象(在本例中为调酒师):
<Bars>
<Bar>
<bar_id>0</bar_id>
<Bartenders>
<Bartender>
<imageURL>unique URL</imageURL>
<shift>20:30</shift>
</Bartender>
</Bartenders>
</Bar>
<Bar>
<bar_id>1</bar_id>
<Bartenders>
<Bartender>
<imageURL>aURL</imageURL>
<shift>a shift</shift>
</Bartender>
<Bartender>
<imageURL>aURL</imageURL>
<shift>a shift</shift>
</Bartender>
</Bartenders>
</Bar>
例如,我想根据唯一的 imageURL 删除用户...我也会知道 bar_id。这是我到目前为止所拥有的 php,但我完全愿意接受有关以不同方式进行操作的建议
$newimageURL = $row['imageURL'];
$newBar_ID = $row['Bar_ID'];
$xmlUrl = "Bars.xml"; // XML
$xmlStr = file_get_contents($xmlUrl);
$xml = new SimpleXMLElement($xmlStr);
$bartenders = $xml->xpath('//Bartenders');
// something needs to happen here to remove the child
$xml->asXML('Bars.xml');
有人告诉我我可以使用这种东西:
$bartenders->removeChild($bartenders[$newBar_ID]);
或 xpath,但我不确定如何仅使用唯一的 imageXML 获得正确的调酒师的路径。我知道我应该更好地计划/设计这个,但我时间紧迫,这将不得不做。
对不起,我对 php 很不好...谢谢你的帮助。