public static function setObjectResult($result, $omitXmlDeclaration = false)
{
if (false === $omitXmlDeclaration) {
ob_clean();
header('Content-Type: text/xml; charset=UTF-8');
echo '<' . '?xml version="1.0" encoding="UTF-8"?' . '><r>';
}
if (method_exists($result, 'exposeProperties')) {
$properties = $result->exposeProperties();
} else {
$properties = get_object_vars($result);
}
foreach ($properties as $name => $value) {
echo '<' . $name . '>';
if (is_array($value)) {
self::setArrayResult($value, true, $name);
} else {
if (is_object($value)) {
self::setObjectResult($value, true);
} else {
echo self::formatXmlTextNode($value);
}
}
echo '</' . $name . '>';
}
if (!$omitXmlDeclaration) {
echo '</r>';
self::endResponse();
}
}