查询

DOMChildNode::remove()函数—用法及示例

「 删除当前节点的子节点 」


函数名称:DOMChildNode::remove()

函数描述:DOMChildNode::remove() 方法删除当前节点的子节点。

适用版本:PHP 8.0.0 及以上

语法:DOMChildNode::remove()

返回值:该方法没有返回值。

用法及示例:

  1. 删除当前节点的所有子节点:
$dom = new DOMDocument();
$dom->loadXML('<root><child1/><child2/><child3/></root>');

$root = $dom->documentElement;
$childNodes = $root->childNodes;

foreach ($childNodes as $child) {
    $child->remove();
}

echo $dom->saveXML();

输出:

<root></root>

在上面的示例中,我们创建了一个包含三个子节点的 XML 文档。然后,使用DOMChildNode::remove()方法循环删除每个子节点,最后将更新后的 XML 结果进行输出。

  1. 删除当前节点的特定子节点:
$dom = new DOMDocument();
$dom->loadXML('<root><child1 id="1"/><child2 id="2"/><child3 id="3"/></root>');

$root = $dom->documentElement;
$children = $root->getElementsByTagName('child2');

foreach ($children as $child) {
    $child->remove();
}

echo $dom->saveXML();

输出:

<root><child1 id="1"/><child3 id="3"/></root>

在上述示例中,我们首先加载一个包含三个带有不同 id 属性值的子节点的 XML 文档。然后,使用getElementsByTagName()方法选择具有特定标签名的子节点,在本例中选择了标签名为"child2"的子节点。然后使用DOMChildNode::remove()方法删除所选的子节点。最后,将更新后的 XML 结果进行输出。

注意事项:

  • DOMChildNode::remove()方法只能用于 DOM 扩展提供的对象,如DOMElementDOMAttr等。
  • 从 PHP 8.0.0 版本开始,该方法已在 DOM 接口中放置,因此不再是一个独立的全局函数,而是作为一个 DOM 接口的成员方法进行调用。
补充纠错
上一个函数: DOMChildNode::before()函数
下一个函数: DOMComment::__construct()函数
热门PHP函数
分享链接