Christian: SimpleXML-Element löschen

Beitrag lesen

Hallo Mathias!

Ich habe einen Teil des Scripts jetzt wie folgt umgeschrieben:

  
// Bedingung zum löschen festlegen  
$element = 'ton1';  
$wert = 'Rot';  
// XML in Array packen  
$xml = new SimpleXMLElement($xmlstr);  
// Arrayindex auf 0 setzen und  
$i = '0';  
// Array durchlaufen solange es color-Elemente gibt und Elemente an $color übergeben  
foreach($xml->xpath('color') as $color){  
// Wenn Kind-Element $element den Wert $wert besitzt  
    if($color->$element == $wert){  
// lösche Element mit aktuellem index  
  if(count($xml) == '1'){  
   unset($xml->color);  
  }else{  
   unset($xml->color[$i]);  
  }  
// sonst tue nichts  
    }  
// erhöhe Arrayindex  
 $i++;  
// Schleife beenden  
}  

Das funktioniert soweit endlich prima bis auf den Umstand, dass die Elemente offenbar nur nacheinander gelöscht werden und nicht in einem Rutsch.

Danke!
Christian