Olá,
Estou tendo o mesmo problema deste Tópico, mas não consegui entender a solução: "A cada iteração do loop você tá sobrescrevendo a variável $cursosEmXml. Por isso só exibe o último. "
public function handle(ServerRequestInterface $request): ResponseInterface
{
/** @var Curso[] $cursos */
$cursos = $this->repositorioDeCursos->findAll();
$cursosEmXML = new \SimpleXMLElement('<cursos/>');
foreach ($cursos as $curso){
$cursosEmXML = $cursosEmXML->addChild('curso');
$cursosEmXML->addChild('id', $curso->getId());
$cursosEmXML->addChild('descricao', $curso->getDescricao());
}
return new Response(200, ['Content-Type' => 'application/xml'],$cursosEmXML->asXML());
}
Consegue me orientar? Abraços,
Luis Felipe Ribeiro