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

nodeValue Атрибуты предназначены для изменения значения узла.

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

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

В DOM все является узлом. Элементные узлы не имеют текстового значения.

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

Для изменения текстового значения элемента необходимо изменить значение текстового узла элемента.

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

nodeValue Атрибут можно использовать для измененияWorth текстового узла.

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

Пример 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "Цзянцай цзинсянь"

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

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

  1. Предположим books.xml загружен xmlDoc Середина
  2. Получите первый подузел элемента <title>
  3. Измените значение узла текста этого текстового узла на "Цзянцай цзинсянь"

Пример 2

Циклически изменяйте текстовые узлы всех элементов <title>:

for (i = 0; i < x.length; i++) {
    x[i].childNodes[0].nodeValue = "измененный текст";
}

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

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

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

Изменение значения атрибута - это изменение его текстового значения.

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

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

setAttribute() МетодУстановка значения существующего атрибута, илиСоздание нового атрибута.

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

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

Пример 1

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","烹饪");

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

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

  1. Предположим books.xml был загружен в xmlDoc Середина
  2. Получите первый элемент <book>
  3. Измените значение атрибута "category" на "烹饪"

Пример 2

Циклически遍历 все элементы <title> и добавляйте новые атрибуты:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    x[i].setAttribute("edition","первое издание");    
}

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

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

Использование nodeValue для изменения атрибута

nodeValue Атрибут являетсяWorth attribute узла.

изменить nodeValue Атрибут может изменить значение атрибута.

Пример

xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "烹饪";

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

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

  1. Предположим books.xml был загружен в xmlDoc Середина
  2. Получить атрибут "category" первого элемента <book>
  3. Изменить значение атрибута узла свойство на "готовка"