DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5)

DOMNode::removeChild Elimina un hijo de la lista de hijos.

Descripción

public DOMNode DOMNode::removeChild ( DOMNode $oldnode )

Esta función elimina un hijo de la lista de hijos.

Parámetros

oldnode

El hijo eliminado.

Valores devueltos

Si el hijo ha podido ser eliminado la función devuelve el hijo antiguo.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NOT_FOUND

Lanzado si oldnode no es un hijo de este nodo.

Ejemplos

El siguiente ejemplo eliminará el elemento chapter de nuestro documento XML.

Ejemplo #1 Eliminar un hijo

<?php

$doc 
= new DOMDocument;
$doc->load('book.xml');

$book $doc->documentElement;

// recuperamos el capítulo y lo eliminamos del libro
$chapter $book->getElementsByTagName('chapter')->item(0);
$oldchapter $book->removeChild($chapter);

echo 
$doc->saveXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>
 
</book>

Ejemplo #2 Preservar la URI del espacio de nombres del nodo padre

<?php

$doc 
= new DOMDocument;
$doc->load('book.xml');

$book $doc->documentElement;

// recuperamos el capítulo y lo eliminamos del libro
$chapter $book->getElementsByTagName('chapter')->item(0);

// copiar la URI del espacio de nombres
$nsuri $book->namespaceURI;

// Borrar el nodo hijo
$book->removeChild($chapter);

// copiar la URI del espacio de nombres al nodo padre
$book->namespaceURI $nsuri;
?>

Notas

Nota:

Después de llamar a este método, la propiedad DOMNode::$namespaceURI en el nodo padre será reiniciada a NULL. El ejemplo de arriba muestra cómo evitarlo.

Ver también


DOMNode
PHP Manual