Удалить все дочерние элементы из XML-узла PHP DOM - PullRequest
16 голосов
/ 30 августа 2010

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

A)

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

AND

B)

$node->nodeValue = "";

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

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

Ответы [ 2 ]

24 голосов
/ 12 февраля 2011

Чуть крепче:

  while ($parentNode->hasChildNodes()) {
    $parentNode->removeChild($parentNode->firstChild);
  }
5 голосов
/ 31 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...