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

search for in the

DomNode::replace_child> <DomNode::previous_sibling
[edit] Last updated: Fri, 25 May 2012

view this page in

DomNode::remove_child

(PHP 4 >= 4.2.0)

DomNode::remove_child Supprime un fils de la liste des noeuds fils

Description

domtext DomNode::remove_child ( domtext $oldchild )

Cette fonction 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, la fonction retournera FALSE. Si le fils a pu être retiré, la fonction le retournera.

Exemple #1 Supprimer un noeud

<?php
include("example.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 04-Dec-2004 06: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");
        }
    }
?>

 
show source | credits | sitemap | contact | advertising | mirror sites