DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5)

DOMNode::removeChild Supprime un fils de la liste des enfants

Description

public DOMNode DOMNode::removeChild ( DOMNode $oldnode )

Cette fonction supprime un fils de la liste des enfants.

Liste de paramètres

oldnode

Le fils à effacer.

Valeurs de retour

Si le fils ne peut être effacé, la fonction retourne l'ancien fils.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

DOM_NOT_FOUND

Lancé si oldnode n'est pas un fils de ce noeud.

Exemples

L'exemple suivant va effacer l'élément chapter de notre document XML.

Exemple #1 Effacement d'un fils

<?php

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

$book $doc->documentElement;

// Nous récupérons le chapitre et l'effaçons du livre
$chapter $book->getElementsByTagName('chapter')->item(0);
$oldchapter $book->removeChild($chapter);

echo 
$doc->saveXML();
?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="iso-8859-1"?>
<!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>

Exemple #2 Préserver l'URI de l'espace de noms du noeud parent

<?php

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

$book $doc->documentElement;

// Nous récupérons le chapitre et le supprimons du livre
$chapter $book->getElementsByTagName('chapter')->item(0);

// copie de l'URI de l'espace de noms
$nsuri $book->namespaceURI;

// Suppression du noeud enfant
$book->removeChild($chapter);

// Collage de l'URI de l'espace de noms dans le noeud parent
$book->namespaceURI $nsuri;
?>

Notes

Note:

Après l'appel de cette méthode, l'attribut DOMNode::$namespaceURI du noeud parent sera remis à NULL. L'exemple ci-dessus montre comment contourner ce phénomène.

Voir aussi


DOMNode
PHP Manual