Клонирование элемента XML DOM

Пример

Ниже приведен пример использования файла XML books.xml.

Функция loadXMLDoc()Расположен за пределами внешнего JavaScript, используется для загрузки файла XML.

Копирование узла и добавление его в существующий узел
В этом примере используется метод cloneNode() для копирования узла и добавления его в корневой узел XML-документа.

Копирование узла

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

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

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

xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Вывести все заголовки
y=xmlDoc.getElementsByTagName("title");
for (i=0; i<y.length; i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}

Вывод:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Пример的解释:

  1. С использованием loadXMLDoc() Скопировать "books.xmlЗагрузить xmlDoc
  2. Получить узел для копирования
  3. Скопировать узел в "newNode" с использованием метода cloneNode
  4. Добавить новый узел в корневой узел XML-документа
  5. Вывести все заголовки книги в документе

TIY