The real power of DOM comes from the ability to easily modify the given XML structure and generate output XML with the minimum amount of effort.

<?php
class forum extends domDocument {
    function 
__construct() {
        
// domDocument constructor must be called to 
        // create the document.
        
parent::__construct();
    }
                                
    
// parameters: title, link, description, id
    
function add_entry()
    {
        
$elements = array('title','link','description');
        
$args func_get_args();

        
// create a new node 
        
$item $this->createElement("item");

        
// assign id to our new node
        
$item->setAttribute("id"array_pop($args));

        
// create elements for the new node
        
foreach ($elements as $element) {
            
// create element
            
${$element} = $this->createElement($element);

            
// assign value to new element
            
${$element}->appendChild(
                
$this->createTextNode(array_shift($args))
            );

            
// append element to the node
            
$item->appendChild(${$element});
        }

        
// append new node to existing document
        
$this->documentElement->appendChild($item);
    }
}
?>