使用按钮和domdocument创建和下载xml

时间:2014-07-28 22:04:07

标签: php xml domdocument

如果可能无法保存在服务器中,那么我要做的就是创建一个xml文件并下载它。

到目前为止,我正在使用DOMDocument创建xml并将其存储在服务器中

<?php
$domTree = new DOMDocument('1.0', 'UTF-8');
$rootXML = $domTree->createElement( 'XML' );
$rootXML = $domTree->appendChild($rootXML);

$personalData = $domTree->createElement( 'PERSONAL' );
$personalData = $rootXML->appendChild($personalData);
$personalData ->nodeValue = "Alan";
$domTree->save('MyXmlFile.xml');
?>

我知道我应该使用这样的东西

<?php
header('Content-type: text/xml');
header('Content-Disposition: attachment; filename="text.xml"');

echo $xml_contents;
?>

但是使用DOMDocument我在使用它时丢失了,感谢提前!

1 个答案:

答案 0 :(得分:0)

要输出到标准输出 - 这是PHP发送到浏览器的内容 - 您可以使用PHP output stream

header('Content-type: text/xml');
header('Content-Disposition: attachment; filename="text.xml"');
$domTree->save('php://stdout');

这个原则适用于(几乎)PHP中需要文件名的任何东西,这是一个非常好的功能。比较我对phpexcel to download的回答。

这与你做的时候一样:

echo $domTree->saveXML();

同样为echo&#34;打印&#34;到标准输出。但对于较大的数据,流的概念更可取。

如果您想了解有关标准输出的更多信息,Wikipedia概述了这些所谓的标准流:

对于正确的XML内容类型,这取决于你做了什么,我建议你看看你是否想要学习更多: