我想使用PHP DOM从XML节点中删除所有子节点,之间有什么区别:
A)
while ($parentNode->hasChildNodes()){
$parentNode->removeChild($parentNode->childNodes->item(0));
}
和
B)
$node->nodeValue = "";
我更喜欢第二个,似乎我得到了相同的结果,但我不确定。
谢谢, 卡洛斯
答案 0 :(得分:24)
稍微紧张:
while ($parentNode->hasChildNodes()) {
$parentNode->removeChild($parentNode->firstChild);
}
答案 1 :(得分:5)
removeChild()
是更“正确”的做事方式。虽然您可以将该节点的内容设置为""
,这将获得所需的效果,但调用removeChild()
对于正在发生的事情更为明显。但是,我的假设是,nodeValue()
在一个微小的层面上效率稍高。