从XML节点PHP DOM中删除所有子项

Car*_*bus 16 php dom

我想使用PHP DOM从XML节点中删除所有子节点,之间有什么区别:

一个)

while ($parentNode->hasChildNodes()){
   $parentNode->removeChild($parentNode->childNodes->item(0));
 }
Run Code Online (Sandbox Code Playgroud)

B)

$node->nodeValue = "";
Run Code Online (Sandbox Code Playgroud)

我更喜欢第二个,似乎我得到了相同的结果,但我不确定.

谢谢,卡洛斯

dma*_*man 24

稍微紧张:

  while ($parentNode->hasChildNodes()) {
    $parentNode->removeChild($parentNode->firstChild);
  }
Run Code Online (Sandbox Code Playgroud)


Jos*_*rns 5

removeChild()是更"正确"的做事方式.虽然您可以将该节点的内容设置为""并且这将获得所需的效果,removeChild()但是对于正在发生的事情,调用会更加明显.但是,我的假设是,在一个微小的层面上,nodeValue()效率会略高一些.