1

ファイルを読み取り、名前が付けられたすべての要素と関連付けられているすべての子XMLを削除する必要があります。<images>うまくいかなかった同様の古い質問を見つけました。私は何を間違っていますか?より良い方法はありますか?

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)
4

3 に答える 3