函数名称:DOMChildNode::remove()
函数描述:DOMChildNode::remove() 方法删除当前节点的子节点。
适用版本:PHP 8.0.0 及以上
语法:DOMChildNode::remove()
返回值:该方法没有返回值。
用法及示例:
- 删除当前节点的所有子节点:
$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 结果进行输出。
- 删除当前节点的特定子节点:
$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 扩展提供的对象,如DOMElement
、DOMAttr
等。- 从 PHP 8.0.0 版本开始,该方法已在 DOM 接口中放置,因此不再是一个独立的全局函数,而是作为一个 DOM 接口的成员方法进行调用。