Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich Daten von mysql in XML in Laravel 5 speichern?

Aus Ihrer Frage geht nicht ganz klar hervor, was das Problem zu sein scheint.

Sie verwenden das Modell, um die Daten zu erfassen, und wandeln sie dann in XML um, wie Sie es zuvor getan haben, indem Sie DOMDocument verwenden oder wahrscheinlich besser mit XMLWriter d.h.

use Illuminate\Support\Facades\Response;
use App\User;

Route::get('/users/xml', function() {
    $users = User::all();

    $xml = new XMLWriter();
    $xml->openMemory();
    $xml->startDocument();
    $xml->startElement('users');
    foreach($users as $user) {
        $xml->startElement('data');
        $xml->writeAttribute('id', $user->id);
        $xml->writeAttribute('firstname', $user->firstname);
        $xml->writeAttribute('lastname', $user->lastname);
        $xml->writeAttribute('email', $user->email);
        $xml->endElement();
    }
    $xml->endElement();
    $xml->endDocument();

    $content = $xml->outputMemory();
    $xml = null;

    return response($content)->header('Content-Type', 'text/xml');
});

Beispielausgabe:

<?xml version="1.0"?>
<users>
  <data id="1" firstname="John" lastname="Doe" email="[email protected]"/>
  <data id="2" firstname="Mark" lastname="Lee" email="[email protected]"/>
  <data id="3" firstname="Jane" lastname="Doe" email="[email protected]"/>
</users>