當我使用以下程式碼將 XML DOM 元素插入從 XML 檔案載入的現有 XML DOM 元素內時,我的新元素都沒有正確格式化,它們只顯示在一行上
<?php
$dom = DOMDocument::load('file.xml');
$dom->formatOutput = true;
//$dom->使用 insertBefore(); 在載入的 XML 中的某處添加一些帶有子節點的新元素
$dom->saveXML();
//輸出:一切看起來都很正常,但新節點都在同一行。
?>
我發現我可以將 LIBXML_NOBLANKS 傳遞給 load 方法,它會重新格式化整個文件,包括我添加的內容。
<?php
$dom = DOMDocument::load('file.xml', LIBXML_NOBLANKS);
$dom->formatOutput = true;
//$dom->使用 insertBefore(); 在載入的 XML 中的某處添加一些帶有子節點的新元素
$dom->saveXML();
//輸出:一切都以新的格式顯示,包括新的節點
?>
希望這能有所幫助,我花了數小時的試錯才弄清楚這一點!