XML DOM - Создание узлов

Метод createElement() используется для создания узла элемента.

Для создания узла атрибута используется метод createAttribute().

Создание нового узла элемента

Метод createElement() создает новый узел элемента:


newElement = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);

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

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Создаем новый узел элемента <edition>
  3. Присоединяем узел элемента к первому элементу <book>

Создание нового узла атрибута

Чтобы создать новый узел атрибута, используется метод createAttribute():


newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "first";

xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);

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

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Создаем новый узел атрибута "edition"
  3. Устанавливаем узлу атрибута значение "first"
  4. Добавляем новый узел атрибута первому элементу <title>.

Если атрибут уже существует, он заменяется новым.

Создание атрибута при помощи setAttribute()

Поскольку метод setAttribute() создает новый атрибут, если атрибут не существует, то его можно использовать для создания нового атрибута.


xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");

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

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Устанавливаем атрибуту "edition" значение "first" для первого элемента <book>

Создание текстового узла

Метод createTextNode() создает новый текстовый узел:


newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

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

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Создаем новый узел элемента <edition>
  3. Создаем новый текстовый узел со значением "first"
  4. Добавляем новый текстовый узел к узлу элемента
  5. Добавляем новый узел элемента к первому элементу <book>

Создание узла раздела CDATA

Метод createCDATASection() создает новый узел раздела CDATA.


newCDATA = xmlDoc.createCDATASection("Special Offer & Book Sale");

xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);

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

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Создаем новый узел раздела CDATA
  3. Добавляем новый узел раздела CDATA к первому элементу <book>

Создание узла комментариев

Метод createComment() создает новый узел комментария.


newComment = xmlDoc.createComment("Revised March 2015");

xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);

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

  1. Предположим, что файл books.xml был загружен в переменную xmlDoc
  2. Создаем новый узел комментария
  3. Добавляем новый узел комментария к первому элементу <book>