私は次のxmlを持っています:
<?xml version="1.0" encoding="utf-8"?>
<server>
<gcm regId="APA91-yySYdx_Ydvkl2pQNB54yDpJRq4SnWvJCpsaCm6hT3LlXqP1S-3uTiXlXwylPKmrFSZbsA" email="mozi"/>
<conversation ip="mozi1" email="mozi">
<chat>abc</chat>
</conversation>
<conversation ip="mozi1" email="mozi">
<chat>abc</chat>
</conversation>
<conversation ip="mozi1" email="mozi">
<chat>abc</chat>
</conversation>
<conversation ip="mozi1" email="mozi">
<chat>abc</chat>
</conversation>
<conversation ip="mozi1" email="mozi">
<chat>abc</chat>
</conversation>
</server>
conversation
。のすべてのタグを削除したいemail=mozi
。
私は次のコードからこれを行っています。
public function DeleteConversation()
{
$conv=$this->xmlDom->getElementsByTagName("conversation");
foreach ($conv as $conversation)
{
if ($conversation->getAttribute('email') == $this->adminEmail)
{
$this->xmlDom->documentElement->removeChild($conversation);
}
}
$this->SaveChanges();
}
スクリプトを実行すると、この関数が呼び出されます。ループは3回しか機能しません。つまり、削除のみ3 records
です。次回スクリプトを実行すると、1つのレコードが削除され、次に1つのレコードが削除されます。これにより、5つのレコードすべてが削除されます。なぜこれが発生するのでしょうか。
それらすべてを一度に削除してほしい。助けてください。