(PHP 5)
DOMNode::removeChild — Elimina un hijo de la lista de hijos.
Esta función elimina un hijo de la lista de hijos.
oldnode
El hijo eliminado.
Si el hijo ha podido ser eliminado la función devuelve el hijo antiguo.
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.
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;
?>
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.