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

问题描述 投票:0回答:2

我有一个XML文档和一个PHP文件。

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

是否有通过DOM Document进行此操作的快速方法?

php xml dom
2个回答
0
投票

要删除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声明,它将为空。


0
投票

假设XML文档是服务器上的平面文件,您可以不必使用DOM,而只需像这样截断文件内容即可:

$f = fopen("document.xml", "r+");
ftruncate($f, 0);
fclose($f);
© www.soinside.com 2019 - 2024. All rights reserved.