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

Пример

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

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

Создание узла элемента
Этот пример использует функцию createElement() для создания нового узла элемента и использование appendChild() для добавления его в узел.
Создание атрибута через использование createAttribute
Этот пример использует функцию createAttribute() для создания нового узла атрибута и использование setAttributeNode() для вставки этого узла в элемент.
Создание атрибута через использование setAttribute
Этот пример использует функцию setAttribute() для создания нового атрибута для элемента.
Создание узла текста
Этот пример использует функцию createTextNode() для создания нового узла текста и использование appendChild() для добавления его в элемент.
Создание узла CDATA section
Этот пример использует функцию createCDATAsection() для создания узла CDATA section и использование appendChild() для добавления его в элемент.
Создание комментируемого узла
Этот пример использует функцию createComment() для создания узла comment и использование appendChild() для добавления его в элемент.

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

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

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Пример объяснение:

  1. Используя loadXMLDoc() Добавить "books.xmlЗагрузка xmlDoc
  2. Создайте новый узел элемента <edition>;
  3. Добавьте этот узел элемента к первому элементу <book>;

TIY

Пройдите по всем элементам <book> и добавьте элемент:TIY

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

createAttribute() используется для создания нового узла атрибута:

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

Пример объяснение:

  1. Используя loadXMLDoc() Добавить "books.xmlЗагрузка xmlDoc
  2. Создайте новый узел атрибута "edition";
  3. Добавьте этот новый узел атрибута к первому элементу <title>;

TIY

Пройдите по всем элементам <title> и добавьте новый узел атрибута:TIY

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

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

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

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");

Пример объяснение:

  1. Используя loadXMLDoc() Добавить "books.xmlЗагрузка xmlDoc
  2. Установите (создайте) атрибут для первого элемента <book> с значением "first";

TIY

Пройдите по всем элементам <title> и добавьте новый атрибут:TIY

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

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

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Пример объяснение:

  1. Используя loadXMLDoc() Добавить "books.xmlЗагрузка xmlDoc
  2. Создайте новый узел элемента <edition>;
  3. Создайте новый узел текста, текст которого "first";
  4. Добавьте новый узел текста к этому узлу элемента;
  5. Добавьте новый узел элемента к первому элементу <book>;

TIY

Добавьте узел с узлом текста к всем элементам <book>:TIY

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

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

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

Пример объяснение:

  1. Используя loadXMLDoc() Добавить "books.xmlЗагрузка xmlDoc
  2. Создайте новый узел раздела CDATA
  3. Добавьте этот новый узел раздела CDATA к первому элементу <book>

TIY

Пробегитесь и добавьте раздел CDATA ко всем элементам <book>:TIY

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

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

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

Пример объяснение:

  1. Используя loadXMLDoc() Добавить "books.xmlЗагрузка xmlDoc
  2. Создайте новый комментируемый узел
  3. Добавьте этот новый комментируемый узел к первому элементу <book>

TIY

Циклически добавьте комментируемый узел к всем элементам <book>:TIY