我有一个XML文档和一个PHP文件。
我想删除PHP文件中if语句下的XML文档的根元素,这意味着XML文件将为空。
是否有通过DOM Document进行此操作的快速方法?
要删除DOMDocument中的根元素,请从文档中删除文档元素(我读到您的问题时就是根元素),类似于如何删除任何其他子元素:
<?php
$xml = <<<XML
<root/>
XML;
$doc = new DOMDocument();
$doc->loadXML($xml);
$doc->save('php://output');
echo "---\n";
$doc->removeChild($doc->documentElement);
$doc->save('php://output');
输出:
<?xml version="1.0"?>
<root/>
---
<?xml version="1.0"?>
(运行示例:https://3v4l.org/u11Oo)
如本示例所示,文档元素已从文档中删除。如果没有XML声明,它将为空。
假设XML文档是服务器上的平面文件,您可以不必使用DOM,而只需像这样截断文件内容即可:
$f = fopen("document.xml", "r+");
ftruncate($f, 0);
fclose($f);