XML DOM - Клонирование узлов

Метод cloneNode() создает копию указанного узла.

Метод cloneNode() принимает один параметр (true или false). Этот параметр указывает, должен ли клонированный узел также клонировать все атрибуты и дочерние узлы исходного узла.

Следующий фрагмент кода копирует первый узел <book> и добавляет его в корень XML документа:


oldNode = xmlDoc.getElementsByTagName('book')[0];
newNode = oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);

Результат:


Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Объяснение примера:

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Получаем узел для копирования (oldNode)
  3. Клонируем этот узел в переменную "newNode"
  4. Добавляем новый узел в корень XML документа