Hallo wahsaga,
for ($i = 0; $i < $items->length; $i++) {
echo $doc->removeChild( $items->item( $i ) );Berücksichtige, dass du mit jedem Entfernen eines Kindelementes $items->length um eins verringerst, und dass sich auch die Indices der verbleibenden Elemente entsprechend verringern.
Wenn ich
for ($i = 0; $i < $items->length; $i++) {
echo $doc->removeChild( $items->item( 0 ) );
}
schreibe (also mit 0 anstatt $i), müsste doch immer das erste Element gelöscht werden. Und zwar nach meinem logischen Verständnis genau $items->length Mal. Oder wird $items->length beim zweiten Schleifendurchlauf dynamisch um eins verringert?
Abgesehen davon - warum funktioniert denn folgendes nicht? (selber Fehler)
$doc->removeChild( $doc->getElementsByTagName( 'name' )->item( 0 ) );
Beste Grüße
Richard