我使用PHP的简单XML创建了一个XML文件,保存了该文件。使用fopen在php中打开文件并打印内容时。我的XML看起来像这样:(见下文)
<?xml version="1.0" encoding="UTF-8"?>
<home><orderList><delivery_cost>0.00</delivery_cost><delivery_surname>TEST</delivery_surname><delivery_postcode>1234</delivery_postcode><status>1</status></orderList></home>
我希望xml文件看起来全部缩进,并且每个元素都在新行上。有人知道怎么做这个吗?
由于
答案 0 :(得分:11)
您可以使用formatOutput
的DOMDocument
属性执行此操作。
相反保存您的XML,假设您的XML位于名为$yourXML
的变量中,并且您希望将其保存到$xmlFilePath
的文件中:
$dom = new DOMDocument();
$dom->loadXML($yourXML);
$dom->formatOutput = true;
$formattedXML = $dom->saveXML();
$fp = fopen($xmlFilePath,'w+');
fwrite($fp, $formattedXML);
fclose($fp);
代码改编自here。
答案 1 :(得分:2)
这称为“漂亮打印”,SimpleXML不这样做。如果您在Stack Overflow和Web上的其他位置搜索,您将找到可以实现此目的的自定义解决方案。
漂亮的打印有利于遮盖,但我不建议以这种格式保存文档。
如果您仍在寻找漂亮的打印机,可以试试SimpleDOM的asPrettyXML()
include 'SimpleDOM.php';
$home = simpledom_load_string('<?xml version="1.0" encoding="UTF-8"?>
<home><orderList><delivery_cost>0.00</delivery_cost><delivery_surname>TEST</delivery_surname><delivery_postcode>1234</delivery_postcode><status>1</status></orderList></home>');
echo $home->asPrettyXML();
答案 2 :(得分:-3)
ob_start();回声&#39; &#39; 。 &#34; \ n&#34 ;;&GT;