Удалить всех детей из XML Node PHP DOM

Я хочу удалить всех детей из XML Node с помощью PHP DOM, есть ли разница между:

А)

while ($parentNode->hasChildNodes()){
   $parentNode->removeChild($parentNode->childNodes->item(0));
 }

и

В)

$node->nodeValue = "";

Я предпочитаю второй, похоже, что получаю тот же результат, но я не уверен.

Спасибо, Карлос

Ответ 1

removeChild() - это более "правильный" способ делать вещи. Хотя вы можете установить содержимое этого node на "", и это приведет к желаемому эффекту, вызов removeChild() гораздо более ясен относительно того, что происходит. Тем не менее, было бы моим предположением, что на незначительном уровне nodeValue() немного более эффективен.

Ответ 2

Слегка плотнее:

  while ($parentNode->hasChildNodes()) {
    $parentNode->removeChild($parentNode->firstChild);
  }