DomNode->append_child
(No version information available, might be only in CVS)
DomNode->append_child — Adds a new child at the end of the children
Description
DOMNode append_child (
DOMNode $newnode )
This functions appends a child to an existing list of children or creates a new list of children.
Return Values
Returns the appended node on success or FALSE on failure.
Examples
The following example adds a new element node to a fresh document and sets the attribute align to left.
Example #1 Adding a child
<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>
The above example could also be written as the following:
Example #2 Adding a child
<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node->set_attribute("align", "left");
$newnode = $doc->append_child($node);
?>
A more complex example is the one below. It first searches for a certain element, duplicates it including its children and adds it as a sibling. Finally a new attribute is added to one of the children of the new sibling and the whole document is dumped.
Example #3 Adding 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("informaltable");
print_r($elements);
$element = $elements[0];
$parent = $element->parent_node();
$newnode = $parent->append_child($element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");
$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
?>
The above example could also be done with DomNode->insert_before instead of DomNode->append_child.