PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

DomNode->replace_child> <DomNode->previous_sibling
Last updated: Fri, 14 Nov 2008

view this page in

DomNode->remove_child

(No version information available, might be only in CVS)

DomNode->remove_child Supprime un fils de la liste des noeuds fils

Description

domtext DomNode->remove_child ( domtext $oldchild )

DomNode->remove_child() supprime le fils oldchild de la liste des noeuds fils du noeud courant. Si le fils n'a pu être retiré, ou si ce n'est pas un fils du noeud courant, DomNode->remove_child() retournera FALSE. Si le fils a pu être retiré, DomNode->remove_child() le retournera.

Exemple #1 Supprimer un noeud en DOM XML

<?php
include("exemple.inc");

if(!
$dom domxml_open_mem($xmlstr)) {
  echo 
"Erreur lors de l'analyse d'un document\n";
  exit;
}

$elements $dom->get_elements_by_tagname("tbody");
$element $elements[0];
$children $element->child_nodes();
$child $element->remove_child($children[0]);

echo 
"<pre>";
$xmlfile $dom->dump_mem(true);
echo 
htmlentities($xmlfile);
echo 
"</pre>";
?>

Voir aussi domnode_append_child().



add a note add a note User Contributed Notes
DomNode->remove_child
iloveitaly at gmail.com
05-Dec-2004 03:28
The remove_child() function seems to have a bug. if the parent node  of the node you are trying to delete is the same as the root node it will give you unexpected errors. I fixed this by checking if the parent node of the node i was deleting was the same as the document node. take a look at the function below if you are running into the same problem. $this->xmlData reffers to the domxml object inside the class i was using.
<?php
   
function deleteNode($ref, $levels) {
       
$parent = $ref->parent_node();
       
$root = $this->xmlData->document_element();
        if(
$parent->node_name()==$root->node_name()) {
           
$parent = $this->xmlData->document_element();
        }
        if(
$parent->remove_child($ref)) {
            return
true;
        } else {
            exit(
"error removing node");
        }
    }
?>

DomNode->replace_child> <DomNode->previous_sibling
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites