我有一些简单的代码,它应该返回一个xml字符串,但是当我运行它时它只返回:'132963660013292910001330196400'这是连接在一起的所有三个音乐会的第二个智慧中的三个。这直接从教科书中复制出来,所以我看不出我怎么做错了才能得到这个结果。我在这里误解了什么?
$simplexml = new SimpleXMLElement(
'<?xml version="1.0"?><concerts />');
$concert1 = $simplexml->addChild('concert');
$concert1->addChild("title", "The Magic Flute");
$concert1->addChild("time", 1329636600);
$concert2 = $simplexml->addChild('concert');
$concert2->addChild("title", "Vivaldi Four Seasons");
$concert2->addChild("time", 1329291000);
$concert3 = $simplexml->addChild('concert');
$concert3->addChild("title", "Mozart's Requiem");
$concert3->addChild("time", 1330196400);
echo $simplexml->asXML();
/* SHOULD output:
<concerts><concert><title>The Magic Flute</title><time>1329636600➥
</time></concert><concert><title>Vivaldi Four Seasons</title>➥
<time>1329291000</time></concert><concert><title>Mozart's Requiem➥
</title><time>1330196400</time></concert></concerts>
*/
答案 0 :(得分:0)
听起来您正在通过浏览器查看脚本的输出,并且它正在尝试将文档解释为HTML(PHP脚本的默认内容类型)。
在最后一行(echo
行)之前的任意位置添加
header('Content-type: text/xml');
或者,如果希望喜欢将其视为HTML文档,请尝试使用
echo '<pre>', htmlspecialchars($simplexml->asXML()), '</pre>';