How to convert array to SimpleXML

How can I convert an array to a SimpleXML object in PHP?


a short one:


$test_array = array (
  'bla' => 'blub',
  'foo' => 'bar',
  'another_array' => array (
    'stack' => 'overflow',
$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($test_array, array ($xml, 'addChild'));
print $xml->asXML();

results in

<?xml version="1.0"?>

keys and values are swapped – you could fix that with array_flip() before the array_walk. array_walk_recursive requires PHP 5. you could use array_walk instead, but you won’t get 'stack' => 'overflow' in the xml then.

Leave a Reply

Your email address will not be published. Required fields are marked *