Я делаю некоторые тесты, но я не вижу различия, когда я использую или не normalize()
метод. Но примеры в веб-сайте ExampleDepot используют его. Так, для чего это? (Документация не была четкой для меня ни один),
Вы можете программно построить дерево DOM, имеющее внешнюю структуру, не соответствующую реальным структурам XML, в частности такие вещи, как несколько узлов типа текста рядом с друг друга или пустые узлы типа text. Метод normalize ()
удаляет их, то есть объединяет соседние текстовые узлы и удаляет пустые.
Это может быть полезно, когда у вас есть другой код, который ожидает, что деревья DOM всегда будут выглядеть как нечто построенное из реального XML-документа.
Это в основном означает, что следующий элемент XML
<foo>hello
wor
ld</foo>
может быть представлен в денормализованном узле следующим образом:
Element foo
Text node: ""
Text node: "Hello "
Text node: "wor"
Text node: "ld"
После нормализации узел будет выглядеть так
Element foo
Text node: "Hello world"
Он очищает код от соседних текстовых узлов и пустых текстовых узлов
{{1 }}