You don't need to write the xml using the magento lib.  
Just make it a simple string.  

    $collection = Mage::getModel('catalog/product')->getCollection();
    $collection->addAttributeToSelect('*');
    //add filters if needed.
    //$collection->addAttributeToFilter('status', 1); //for example.

    $padd = '    '; //4 spaces for identation
    $eol = "\n"; //end of line
    $xml = '<?xml version="1.0"?>'.$eol;
    $xml .= '<products>'.$eol;
    foreach ($collection as $product) {
        $xml .= $padd.'<product>'.$eol;
        $xml .= str_repeat($padd, 2).'<name>'.$product->getName().'</name>'.$eol;
        $xml .= str_repeat($padd, 2).'<description><![CDATA['.$product->getName().']]></description>'.$eol;
        $xml .= str_repeat($padd, 2).'<price><![CDATA['.$product->getFinalPrice().']]></price>'.$eol;
        //add here all the attributes you need to export
        $xml .= $padd.'</product>'.$eol;
    }
    $xml .= '</products>'.$eol;
    //Do something with $xml - save it in a file or echo it.