Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过PHP DOMDocument删除XML文件的根元素_Php_Xml_Dom - Fatal编程技术网

如何通过PHP DOMDocument删除XML文件的根元素

如何通过PHP DOMDocument删除XML文件的根元素,php,xml,dom,Php,Xml,Dom,我有一个XML文档&一个PHP文件 我想删除PHP文件中if语句下XML文档的根元素,这意味着XML文件将为空 有没有一种通过DOM文档快速执行此操作的方法?假设XML文档是服务器上的一个平面文件,您可以不用使用DOM来执行此操作,只需像这样截断文件内容: $f = fopen("document.xml", "r+"); ftruncate($f, 0); fclose($f); 要删除DOMDocument中的根元素,请从文档中删除document元素(我阅读您的问题时的根元素),类似于如

我有一个XML文档&一个PHP文件

我想删除PHP文件中if语句下XML文档的根元素,这意味着XML文件将为空


有没有一种通过DOM文档快速执行此操作的方法?

假设XML文档是服务器上的一个平面文件,您可以不用使用DOM来执行此操作,只需像这样截断文件内容:

$f = fopen("document.xml", "r+");
ftruncate($f, 0);
fclose($f);

要删除DOMDocument中的根元素,请从文档中删除document元素(我阅读您的问题时的根元素),类似于如何删除任何其他子元素:

<?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');
documentElement);
$doc->save($doc)php://output');
输出:

<?xml version="1.0"?>
<root/>
---
<?xml version="1.0"?>

---
(运行示例:)


如本例所示,文档元素已从文档中删除。如果没有XML声明,它将是空的。

这不起作用。我得到一个未定义变量的错误。谢谢。你能在你原来的帖子中显示你使用的代码和确切的错误信息吗?