XML DOM Добавить узел


实例

Попробуйте сами - Пример

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


bookExampleUsage appendChild() Методы по добавлению дочернего узла к существующему узлу。 → В этом примере метод appendChild() используется для добавления дочернего узла к существующему узлу.


Пример использования book: метод insertBefore() вставляет узел перед указанным дочерним узлом. → В этом примере используется метод insertBefore() для вставки узла перед указанным дочерним узлом.


Пример использования book: метод setAttribute() добавляет новый атрибут. → В этом примере используется метод setAttribute() для добавления нового атрибута.


Пример использования book: insertData() вставляет данные в существующий текстовый узел. → В этом примере insertData() используется для вставки данных в существующий текстовый узел.


Добавить узел — appendChild()

Метод appendChild() добавляет дочерний узел к существующему узлу. → Метод appendChild() добавляет дочерний узел к существующему узлу.

Новый узел добавляется (присоединяется) после всех существующих дочерних узлов.

Примечание:если положение узла очень важно, используйте метод insertBefore(). → Если положение узла важно, используйте метод insertBefore().

Следующий фрагмент кода создаёт элемент (<edition>) и добавляет его после последнего дочернего узла первого элемента <book>: → Следующий фрагмент кода создаёт элемент (<edition>) и добавляет его после последнего дочернего узла первого элемента <book>:

Пример

xmlDoc=loadXMLDoc("books.xml");

newel=xmlDoc.createElement("edition");

x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Попробуйте сами »

Пояснение к примеру:

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

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


Вставка узлов - insertBefore()

Метод insertBefore() используется для вставки узла перед указанным дочерним узлом。 → Метод insertBefore() используется для вставки узла перед указанным дочерним узлом.

Когда положение добавляемого узла очень важно, этот метод очень полезен: → Этот метод полезен, когда положение добавляемого узла важно:

Пример

xmlDoc=loadXMLDoc("books.xml");

newNode=xmlDoc.createElement("book");

x=xmlDoc.documentElement;
y=xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);

Попробуйте сами »

Пояснение к примеру:

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Создайте новый узел элемента <book> → Создайте новый узел элемента <book>
  3. Вставьте этот новый узел перед последним узлом элемента <book>.

Если второй параметр insertBefore() равен null, новый узел будет добавлен после последнего существующего дочернего узла。 → Если второй параметр insertBefore() равен null, новый узел будет добавлен после последнего существующего дочернего узла.

x.insertBefore(newNode,null)иx.appendChild(newNode)Оба могут добавить новый дочерний узел к x.


Добавить новый атрибут

addAtribute() Этот метод не существует. → Метод addAtribute() не существует.

Если свойство не существует, то setAttribute() может создать новый атрибут: → Если атрибут не существует, setAttribute() может создать новый атрибут:

Пример

xmlDoc=loadXMLDoc("books.xml");

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

Попробуйте сами »

Пояснение к примеру:

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Установить значение свойства "edition" первого элемента <book> в "first"(Создать)→ Установить (создать) значение атрибута "edition" первого элемента <book> в "first"

Примечание:если свойство уже существует, метод setAttribute() перезапишет существующее значение. → Если атрибут уже существует, метод setAttribute() перезапишет существующее значение.


Добавить текст в текстовый узел - insertData() → Добавить текст в текстовый узел - insertData()

Метод insertData() вставляет данные в существующий текстовый узел. → Метод insertData() вставляет данные в существующий текстовый узел.

Метод insertData() имеет два параметра:

  • offset - с какого места начинать вставку символов (начиная с 0) → offset - с какого места начинать вставку символов (начиная с 0)
  • string - строка для вставки → string - строка для вставки

Приведённый ниже фрагмент кода добавит "Easy" в текстовый узел первого элемента <title> загруженного XML: → Приведённый ниже фрагмент кода добавит "Easy" в текстовый узел первого элемента <title> загруженного XML:

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.insertData(0,"Easy ");

Попробуйте сами »

Другие расширения