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が苦手です...助けてくれてありがとう。