2017-04-30 5 views
0

Warum ich alle Elemente in einer Zeile

<?php 
 
// setting up PDO 
 
include ('connectDB.php'); 
 
include ('auth.php'); 
 
$userID = $_SESSION['tblusers_id']; 
 

 
// prepare all queries... 
 
$favouritSongs = $conn->prepare("SELECT * FROM tblsaved_song WHERE userID = :userID"); 
 
$favouritSongs->bindParam(':userID', $userID); 
 

 

 
// fetch all artists 
 
$favouritSongs->execute(); 
 
$favouriteList=$favouritSongs->fetchAll(PDO::FETCH_ASSOC); 
 

 

 
$x=new XMLWriter(); 
 
$x->openMemory(); 
 
$x->startDocument('1.0','UTF-8'); 
 
$x->startElement('music'); 
 

 
foreach ($favouriteList as $element) { 
 

 
\t $x->startElement('songtitle'); 
 
\t $x->text($element['songtitle']); 
 
\t $x->endElement(); 
 
    $x->startElement('link'); 
 
\t $x->text($element['link']); 
 
\t $x->endElement(); 
 
    $x->startElement('genre'); 
 
\t $x->text($element['genre']); 
 
\t $x->endElement(); 
 
    $x->startElement('releaseyear'); 
 
\t $x->text($element['releaseyear']); 
 
\t $x->endElement(); 
 
    $x->startElement('datesaved'); 
 
    $x->text($element['datesaved']); 
 
\t 
 

 
    // fetch all albums of this artist 
 

 
    $x->endElement(); // artist 
 
} // foreach $artists 
 

 
$x->endElement(); // music 
 
$x->endDocument(); 
 
$xml = $x->outputMemory(); 
 

 
// now save $xml to a file etc. 
 
header("Content-type: text/xml"); 
 
header('Content-Disposition: attachment; filename="exported_playlist.xml"'); 
 
print_r ($xml); 
 
?>

Hallo bin immer, ich versuche, Daten aus MySQL-Datenbank zu exportieren und speichern sie in XML-Datei.

Alles funktioniert gut, das einzige Problem, das ich habe, ist, dass alle Elemente in einer Zeile sind. Wie könnte ich den Code ändern, um jedes Element in eine neue Zeile zu bekommen. Danke.

+1

MySQL wird es lesen, kein Mensch. Ich würde mir keine Sorgen machen. – Quentin

+1

http://php.net/manual/en/function.xmlwriter-set-indent.php – Quentin

Antwort

0

Aus der Erklärung, was ich verstanden wird, werden Sie den XML-Code einrücken

In Ordnung, Sie $xml->setIndent(true); tun nach $x->openMemory(); in Sie Code kann einrücken nicht in der Lage.

+1

Das ist perfekt, das ist genau das, was ich brauchte. Danke für Ihre Hilfe. – zygis089

+0

"Danke" = Upvote/Akzeptieren. – choroba

Verwandte Themen