Creare file XML in Laravel

Mattepuffo's logo
Creare file XML in Laravel

Creare file XML in Laravel

Per creare file XML con Laravel, non abbiamo bisogno di aggiungere nessuna libreria esterna, in quanto ci basta SimpleXMLElement!

In questo articolo vediamo come creare e scaricare un file XML.

Ovviamente è un file basico:

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Response;
use SimpleXMLElement;

class TestController extends Controller {
    public function index() {
        $xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><persone></persone>');

        $xml->addAttribute('version', '1.0');
        $xml->addChild('datetime', date('Y-m-d H:i:s'));

        $person = $xml->addChild('persona');
        $person->addChild('nome', 'NOME');
        $person->addChild('cognome', 'COGNOME');
        $person->addChild('telefono', '123456789');
        $person->addChild('email', 'email@email.it');

        $address = $person->addchild('indirizzi');
        $address->addchild('casa', 'Via casa 90');
        $address->addChild('lavoro', 'Via lavoro 100');

        $xml->saveXML('test.xml');

        $response = Response::make($xml->asXML(), 200);
        $response->header('Cache-Control', 'public');
        $response->header('Content-Description', 'File Transfer');
        $response->header('Content-Disposition', 'attachment; filename=test.xml');
        $response->header('Content-Transfer-Encoding', 'binary');
        $response->header('Content-Type', 'text/xml');

        return $response;
    }
}

Come esercizio potete provare a modificare questo script creando un file con dati presi da db!

Enjoy!


Condividi

Commentami!