使用按钮和 domdocument 创建和下载 xml
Posted
技术标签:
【中文标题】使用按钮和 domdocument 创建和下载 xml【英文标题】:create and download xml with button and domdocument 【发布时间】:2014-09-20 05:20:48 【问题描述】:我要做的是创建一个 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 我在使用它时迷路了,在此先感谢!
【问题讨论】:
如果你把这些标题调用放在你的文档中,那么echo $domTree->saveXML();
它应该可以解决问题
太棒了!!!!谢谢完美!
【参考方案1】:
要输出到 标准输出 - 这是 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
以及“打印”到标准输出。但对于较大的数据,流的概念更可取。
如果您想了解有关标准输出的更多信息,***对这些所谓的标准流进行了概述:
Standard streams对于正确的 XML 内容类型,这取决于您的工作,如果您想了解更多信息,我建议您查看一下:
What Content-Type value should I send for my XML sitemap?【讨论】:
以上是关于使用按钮和 domdocument 创建和下载 xml的主要内容,如果未能解决你的问题,请参考以下文章
在 PHP 中从 DOMNode 创建 DOMDocument
格式化使用 PHP 创建的 XML 文档 - DOMDocument