DOMNode::removeChild
(PHP 5)
DOMNode::removeChild — Removes child from list of children
Beschreibung
This functions removes a child from a list of children.
Parameter-Liste
-
oldnode -
The removed child.
Rückgabewerte
If the child could be removed the function returns the old child.
Fehler/Exceptions
-
DOM_NO_MODIFICATION_ALLOWED_ERR -
Raised if this node is readonly.
-
DOM_NOT_FOUND -
Raised if
oldnodeis not a child of this node.
Beispiele
The following example will delete the chapter element of our XML document.
Beispiel #1 Removing a child
<?php
$doc = new DOMDocument;
$doc->load('book.xml');
$book = $doc->documentElement;
// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);
echo $doc->saveXML();
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<?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>
Beispiel #2 Preserving the parent node's namespace URI
<?php
$doc = new DOMDocument;
$doc->load('book.xml');
$book = $doc->documentElement;
// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
// copy the namespace URI
$nsuri = $book->namespaceURI;
// Delete the child node
$book->removeChild($chapter);
// paste the namespace URI back into the parent node
$book->namespaceURI = $nsuri;
?>
Anmerkungen
Hinweis:
After calling this method, the DOMNode::$namespaceURI property on the parent node will be reset to
NULL. Above example shows how to work around it.
Siehe auch
- DOMNode::appendChild() - Adds new child at the end of the children
- DOMNode::replaceChild() - Replaces a child
DOMNode::removeChild