格式化XML文件

时间:2014-03-15 23:28:15

标签: php simplexml xmldocument

我目前正在使用simplexml_load_file(file.xml)加载XML和$xmlRoot->saveXML('file.xml')来保存XML文件,

代码实现了我的目标,但是当我打开保存的XML文件时,它总是有删除节点的空格和/或添加节点的非常长的元素行(1个父元素和1行中的所有子元素) )。

我的问题是如何通过php代码以干净的格式对其进行格式化? (我想要类似于C#的XMLDocument类,它在保存时自行格式化)

我当前的XML文件与此类似:

<rootElement>

     <parentElement><childElement>data</childElement></parentElement>

     <parentElement><childElement>data</childElement></parentElement>
</rootElement>

我希望它变成这样的东西:

<rootElement>
     <parentElement>
        <childElement>data</childElement>
     </parentElement>
     <parentElement>
        <childElement>data</childElement>
     </parentElement>
</rootElement>

它看起来很干净,但我有一个很大的XML文件,每个父元素有多个子元素

谢谢和欢呼

1 个答案:

答案 0 :(得分:1)

尝试将simpleXml导入DOMDocument,它提供了一些格式选项:

$simpleXml = simplexml_load_file('file.xml');
$xmlDom = new DOMDocument('1.0');
$xmlDom->formatOutput = true;
$xmlDom->preserveWhiteSpace = false;
$xmlDom->loadXML($simpleXml->asXML());
echo $xmlDom->saveXML();

此致