(PHP 5)
DOMNode::removeChild — Elimina un hijo de la lista de hijos.
Esta función elimina un hijo de la lista de hijos.
El hijo eliminado.
Si el hijo ha podido ser eliminado la función devuelve el hijo antiguo.
Lanzado si el nodo es de sólo lectura.
Lanzado si oldnode no es un hijo de este nodo.
El siguiente ejemplo eliminará el elemento capítulo de nuestro documento XML.
Example #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>
Example #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;
?>
Note:
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.