protected function _addData(SimpleXMLElement $xml, array $data, $keyOverride = null)
{
foreach ($data as $key => $value) {
// alpha-numeric key => array value
if (!is_numeric($key) && is_array($value)) {
$c = $xml->addChild($key);
$this->_addData($c, $value, $key);
} elseif (!is_numeric($key) && !is_array($value)) {
$xml->addChild($key, $value);
// numeric key => array value
} elseif (is_array($value)) {
$this->_addData($xml, $value);
// numeric key => non-array value
} else {
$xml->addChild($keyOverride, $value);
}
}
}