@Bestolkovy

Объясните, пожалуйста, что делает функция DOMNode::normalize в PHP?

Добрый день!

Объясните, пожалуйста, простым, доступным языком, что делает функция DOMNode::normalize в PHP.

Если можно с каким-нибудь примером.

Большое спасибо!
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
DevMan
@DevMan
Часто при интенсивной корректировке документа возникает ситуация, когда в списке дочерних узлов появляется множество последовательно расположенных текстовых узлов. Данная ситуация вызывает ряд проблем при дальнейшей обработке документа.

Во-первых, изменяется система адресации документа. Если вы сохраните документ методом saveXML(), а затем загрузите его снова методом loadXML(), то в новом документе последовательно расположенные текстовые узлы сольются в один узел. Таким образом, одна и та же информация будет иметь различное логическое расположение в документе.

Кроме того, фрагментация текстовых узлов приводит к неэффективному использованию оперативной памяти.

Чтобы избежать этих проблем, в стандарте DOM2 в интерфейс Node (класс domNode РНР 5) введен метод normalized. Данный метод "сливает" все последовательно расположенные текстовые узлы в один узел. Эта операция производится как с поддеревом дочерних узлов текущего узла, так и с поддеревом атрибутов узла типа domElement
РНР 5 в подлиннике
stackoverflow.com/a/13787629/1528973 показан пример.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы