我需要閱讀XML
文件並刪除名爲<images>
的所有元素以及所有關聯的子元素。我發現了類似的舊問題,但沒有奏效。我究竟做錯了什麼?有更好的方法嗎?如何刪除XML元素和所有的孩子?
XML:
<?xml version='1.0' encoding='UTF-8'?>
<settings>
<background_color>#000000</background_color>
<show_context_menu>yes</show_context_menu>
<image>
<thumb_path>210x245.png</thumb_path>
<big_image_path>620x930.png</big_image_path>
</image>
<image>
<thumb_path>200x295.png</thumb_path>
<big_image_path>643x950.png</big_image_path>
</image>
</settings>
PHP:
$dom = new DOMDocument();
$dom->load('test.xml');
$thedocument = $dom->documentElement;
$elements = $thedocument->getElementsByTagName('image');
foreach ($elements as $node) {
$node->parentNode->removeChild($node);
}
$save = $dom->saveXML();
file_put_contents('test.xml', $save)
+1:使用SimpleXML處理特定情況的好方法。我以爲你在尋找DOMDocument。 – hakre 2013-04-07 09:37:00
@hakre我正在使用兩種解決方案,SimpleXML的確很簡單:) – dnelson 2013-04-08 17:06:07