为什么我将所有元素都放在一行中

时间:2017-04-30 17:58:56

标签: xml

<?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) {

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

    // 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);
?>

嗨,我正在尝试从MySQL数据库导出数据并将它们存储到XML文件中。

一切正常,唯一的问题是所有元素都在一行中。我怎么能修改代码以获得新行中的每个元素。 谢谢。

2 个答案:

答案 0 :(得分:0)

根据我理解的解释,您无法缩进xml代码

为了缩进,您可以在代码$xml->setIndent(true);之后$x->openMemory();进行缩进。

答案 1 :(得分:-1)

您可以使用以下代码段:

var val = prompt("enter number");
var New = val.split("");
var arr1 = [];
console.log(New);
for (i = New.length - 1; i >= 0; i--) {
    arr1 += New[i];
} console.log(arr1);