XML DOM Изменение значения узла
Свойство nodeValue используется для изменения значения узла.
Метод setAttribute() используется для изменения значений атрибутов.
Попробуйте сами - Пример
В следующем примере используется XML-файл。
ФункцияloadXMLDoc(), расположенная во внешнем JavaScript, используется для загрузки XML-файла.
В этом примере используется свойство nodeValue для изменения текстового узла первого элемента <title> в "books.xml".
В этом примере используется метод setAttribute() для изменения значения атрибута "category" у первого <book>.
В этом примере используется свойство nodeValue для изменения значения атрибута "category" у первого <book>.
Изменение значения элемента
В DOM каждый компонент является узлом. Узлы элементов не имеют текстового значения.
Текст узла элемента хранится в дочернем узле. Этот узел называется текстовым узлом.
Способ изменить текст элемента — изменить значение этого дочернего узла (текстового узла).
Изменение значения текстового узла
Свойство nodeValue можно использовать для изменения значения текстового узла.
Следующий фрагмент кода изменяет значение текстового узла первого элемента <title>:
Пример
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
Попробуйте сами »
Пояснение к примеру:
- ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
- Получение текстового узла первого элемента <title>
- Измените значение узла этого текстового узла на "Easy Cooking"
Пройдите в цикле и измените текстовые узлы всех элементов <title>:
Измените значение атрибута
В DOM атрибуты также являются узлами. В отличие от узлов элементов, узлы атрибутов имеют текстовые значения.
Чтобы изменить значение атрибута, нужно изменить его текстовое значение.
Это можно сделать с помощью метода setAttribute() или свойства nodeValue узла атрибута.
Измените атрибут с помощью setAttribute()
Метод setAttribute() изменяет значение существующего атрибута или создаёт новый атрибут.
Следующий код изменяет атрибут category элемента <book>:
Пример
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
Попробуйте сами »
Пояснение к примеру:
- ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
- Получить первый элемент <book>
- Измените значение атрибута "category" на "food"
Пройдите по всем элементам <title> и добавьте новый атрибут:
Примечание:Если атрибут не существует, создаётся новый атрибут (с указанным именем и значением).
Изменение атрибута с помощью nodeValue
Свойство nodeValue можно использовать для изменения значения узла атрибута:
Пример
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
Попробуйте сами »
Пояснение к примеру:
- ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
- Получить атрибут "category" первого элемента <book>
- Изменить значение этого узла атрибута на "food"
Другие расширения