📜  PHP | DOMNode removeChild()函数(1)

📅  最后修改于: 2023-12-03 14:45:14.528000             🧑  作者: Mango

PHP | DOMNode removeChild()函数

简介

在PHP的DOM(Document Object Model) API中,使用removeChild()函数可以从DOM树中删除指定的节点。

语法
public DOMNode::removeChild ( DOMNode $oldnode ) : DOMNode

其中:

  • oldnode:要删除的节点。
返回值

返回从DOM树中移除的oldnode节点。

示例
<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<books>
  <book>
    <title>PHP Programming</title>
    <author>John Doe</author>
  </book>
  <book>
    <title>HTML5 Web Development</title>
    <author>Jane Smith</author>
  </book>
  <book>
    <title>CSS3 Essentials</title>
    <author>Bob Johnson</author>
  </book>
</books>
XML;

$doc = new DOMDocument();
$doc->loadXML($xmlstr);

$books = $doc->getElementsByTagName("books")->item(0);
$bookToRemove = $books->getElementsByTagName("book")->item(1); //要删除的节点
$removedBook = $books->removeChild($bookToRemove);

echo "已从DOM树中移除以下节点:\n";
echo $doc->saveXML($removedBook); //输出被移除的节点

echo "\n移除节点后的XML文档:\n";
echo $doc->saveXML();

?>

以上示例中,我们首先通过getElementsByTagName()方法获取到books元素,然后再通过getElementsByTagName()方法获取到要删除的book节点,接着使用removeChild()函数将该节点从DOM树中移除。最后,通过saveXML()方法获取到移除的节点,并输出移除节点后的XML文档。

注意事项
  • 被移除的节点会从DOM树中彻底删除,因此被删除的节点将不能再访问。
  • 如果要将节点从DOM树中移除,可以使用removeChild()方法。
  • 在取出节点后,需要对节点是否存在进行判断,如果节点不存在,可能会导致代码崩溃。