我正在使用DOMDocument
生成一个新的XML文件,并且希望该文件的输出能很好地缩进,以便于人类读者轻松阅读。
例如,当DOMDocument
输出此数据时:
<?xml version="1.0"?>
<this attr="that"><foo>lkjalksjdlakjdlkasd</foo><foo>lkjlkasjlkajklajslk</foo></this>
我希望XML文件是:
<?xml version="1.0"?>
<this attr="that">
<foo>lkjalksjdlakjdlkasd</foo>
<foo>lkjlkasjlkajklajslk</foo>
</this>
我一直在寻找答案,我发现的所有内容似乎都试图以这种方式控制空白:
$foo = new DOMDocument();
$foo->preserveWhiteSpace = false;
$foo->formatOutput = true;
但这似乎无济于事。也许这仅在读取XML时有效吗?请记住,我正在尝试编写新文档。
DOMDocument
有内置的功能吗?还是可以轻松完成此任务的功能? 最佳答案
DomDocument可以解决问题,我个人花了几个小时在Google上进行了搜索,并试图弄清这一点,我指出,如果您使用
$xmlDoc = new DOMDocument ();
$xmlDoc->loadXML ( $xml );
$xmlDoc->preserveWhiteSpace = false;
$xmlDoc->formatOutput = true;
$xmlDoc->save($xml_file);
按此顺序,它只是行不通,但是,如果您使用相同的代码,但按此顺序:
$xmlDoc = new DOMDocument ();
$xmlDoc->preserveWhiteSpace = false;
$xmlDoc->formatOutput = true;
$xmlDoc->loadXML ( $xml );
$xmlDoc->save($archivoxml);
像魅力一样运作,希望能有所帮助