PHP SimpleXML新行

2022-04-13 00:00:00 pretty-print php simplexml

我已经使用PHP的简单XML创建了一个XML文件,并保存了该文件。在php中打开文件时,使用fopen并打印内容。我的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文件看起来都是缩进的,并且每个元素都在新行上。有人知道怎么做吗?

谢谢


解决方案

您可以使用DOMDocumentformatOutput属性执行此操作。

改为这样保存您的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的代码。

相关文章