(PHP 4 >= 4.2.0)
DomNode->remove_child — Removes child from list of children
This functions removes a child from a list of children. If child cannot be removed or is not a child the function will return FALSE. If the child could be removed the functions returns the old child.
Beispiel #1 Removing a child
<?php
include("example.inc");
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the 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>";
?>
See also domnode_append_child().
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");
        }
    }
?>