<?php

header
('Content-Type: text/xml; charset=utf-8');

function 
generateXMLNode($data$root$document)
{
    if(
is_array($data)) {
        foreach(
$data as $key => $value) {
            
$node $document->createElement($key);
            
$node $root->appendChild($node);

            
generateXMLNode($value$node$document);
        }
    }
    else {
        
$node $document->createTextNode($data);
        
$node $root->appendChild($node);
    }
}

$data = array('node1' => array('node1.1' => 'value1.1'),
              
'node2' => 'value2');

$xml = new DomDocument('1.0''UTF-8');

$root $xml->createElement('root');
$root $xml->appendChild($root);

generateXMLNode($data$root$xml);

echo 
$xml->saveXML();
    
?>