XML DOM Изменение значения узла


Свойство nodeValue используется для изменения значения узла.

Метод setAttribute() используется для изменения значений атрибутов.


实例

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

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


В этом примере используется свойство nodeValue для изменения текстового узла первого элемента <title> в "books.xml".


В этом примере используется метод setAttribute() для изменения значения атрибута "category" у первого <book>.


В этом примере используется свойство nodeValue для изменения значения атрибута "category" у первого <book>.


Изменение значения элемента

В DOM каждый компонент является узлом. Узлы элементов не имеют текстового значения.

Текст узла элемента хранится в дочернем узле. Этот узел называется текстовым узлом.

Способ изменить текст элемента — изменить значение этого дочернего узла (текстового узла).


Изменение значения текстового узла

Свойство nodeValue можно использовать для изменения значения текстового узла.

Следующий фрагмент кода изменяет значение текстового узла первого элемента <title>:

Пример

xmlDoc=loadXMLDoc("books.xml");

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

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

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

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Получение текстового узла первого элемента <title>
  3. Измените значение узла этого текстового узла на "Easy Cooking"

Пройдите в цикле и измените текстовые узлы всех элементов <title>:


Измените значение атрибута

В DOM атрибуты также являются узлами. В отличие от узлов элементов, узлы атрибутов имеют текстовые значения.

Чтобы изменить значение атрибута, нужно изменить его текстовое значение.

Это можно сделать с помощью метода setAttribute() или свойства nodeValue узла атрибута.


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

Метод setAttribute() изменяет значение существующего атрибута или создаёт новый атрибут.

Следующий код изменяет атрибут category элемента <book>:

Пример

xmlDoc=loadXMLDoc("books.xml");

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

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

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

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Получить первый элемент <book>
  3. Измените значение атрибута "category" на "food"

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

Примечание:Если атрибут не существует, создаётся новый атрибут (с указанным именем и значением).


Изменение атрибута с помощью nodeValue

Свойство nodeValue можно использовать для изменения значения узла атрибута:

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";

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

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

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Получить атрибут "category" первого элемента <book>
  3. Изменить значение этого узла атрибута на "food"

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