Cita:
Iniciado por masterpuppet Te dejo una referencia [url]http://stackoverflow.com/questions/1542979/how-to-return-xml-in-an-zend-framework-application[/url], sigue el ejemplo del tercer post, deberías utilizar los contextos y setear los headers y body al response.
Saludos.
Hola! Gracias por responder.
He seguido el ejemplo, y el resultado que me da es el siguiente:
"This page contains the following errors:
error on line 3 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error."
El código que he utilizado es el que pego aquí abajo:
Código PHP:
$dom = new DOMDocument('1.0', 'utf-8');
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
$markers = new Application_Model_DbTable_Markers();
$select = $markers->select();
$select->from($markers)
->where("idMarker>=?",'1');
$ubicaciones = $markers->fetchAll($select);
$numero_ubicaciones = count($ubicaciones);
if($numero_ubicaciones > 0){
echo "Hemos encontrado". $numero_ubicaciones ."ubicaciones";
foreach($ubicaciones as $ubicacion){
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("lugar", $ubicacion->lugar);
$newnode->setAttribute("lat", $ubicacion->lat);
$newnode->setAttribute("lng", $ubicacion->lng);
}
$xmlfile = $dom->saveXML();
//Ambos layout y view renderer deben ser desactivados
Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true);
Zend_Layout::getMvcInstance()->disableLayout();
//Set up headers and body
$this->_response->setHeader('Content-Type', 'text/xml; charset=utf-8')
->setBody($xmlfile);
}else{
$mensaje = "No hemos encontrado nada con esas características";
$this->_redirect('mapas/index?mensaje='.$mensaje);
}