当我使用以下代码将 XML DOM 元素插入使用已加载的 XML 文件中的现有 XML DOM 元素时,我的新元素都没有正确格式化,它们只是一行显示
<?php
$dom = DOMDocument::load('file.xml');
$dom->formatOutput = true;
//$dom->add some new elements with child nodes somewhere inside the loaded XML using insertBefore();
$dom->saveXML();
//output: everything looks normal but the new nodes are all on one line.
?>
我发现我可以将 LIBXML_NOBLANKS 传递给 load 方法,它会重新格式化整个文档,包括我添加的内容
<?php
$dom = DOMDocument::load('file.xml', LIBXML_NOBLANKS);
$dom->formatOutput = true;
//$dom->add some new elements with child nodes somewhere inside the loaded XML using insertBefore();
$dom->saveXML();
//output: everything looks newly formatted, including new nodes
?>
希望这有帮助,我花了几个小时的试错才弄明白!