Изменение значения элемента XML DOM
- Предыдущая страница Получение узла DOM
- Следующая страница Удаление узла DOM
Свойство nodeValue используется для изменения значения узла.
Метод setAttribute() используется для изменения значения атрибута.
Пример
Ниже приведен пример использования файла XML books.xml.
Функция loadXMLDoc()Расположен вне JavaScript, используется для загрузки файла XML.
- Изменение текстового узла элемента
- В этом примере используется свойство nodeValue для изменения значения текстового узла первого элемента <title> в файле "books.xml".
- Изменение значения атрибута с помощью setAttribute
- В этом примере используется метод setAttribute() для изменения значения атрибута "category" первого элемента <book>.
- Изменение значения атрибута с помощью nodeValue
- В этом примере используется свойство nodeValue для изменения значения атрибута "category" первого элемента <book>.
Изменение значения элемента
В DOM每一种成分都是 узел. Узлы элементов не имеют текстового значения.
Текст элементов хранится в подузлах. Этот узел называется текстовым узлом.
Метод изменения текста элемента заключается в изменении значения этого подузла (текстового узла).
Изменение значения текстового узла
Свойство nodeValue можно использовать для изменения значения текстового узла.
Ниже приведен фрагмент кода, изменяющий значение текстового узла первого элемента <title>:
xmlDoc=loadXMLDoc("books.xml"); x = xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue = "Hello World";
Пример объяснения:
- Используя loadXMLDoc() Измените "books.xml"Загрузите в xmlDoc"
- Получить текстовый узел первого элемента <title>
- Изменить значение узла текста этого текстового узла на "Hello World"
Пройдемся по всем текстовым узлам элементов <title> и изменим их:TIY
Изменение значения атрибута
В DOM атрибуты также являются узлами. В отличие от узлов элементов, узлы атрибутов имеют текстовое значение.
Метод изменения значения атрибута заключается в изменении его текстового значения.
Эта задача может быть выполнена с помощью метода setAttribute() или свойства nodeValue узла.
Использование метода setAttribute() для изменения атрибута
Метод setAttribute() устанавливает значение существующего атрибута или создает новый атрибут.
Ниже приведен код, изменяющий атрибут category элемента <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("category","child");
Пример объяснения:
- Используя loadXMLDoc() Измените "books.xml"Загрузите в xmlDoc"
- Получите первый элемент <book>
- Измените значение атрибута "category" на "child"
Пройтись по всем <title> и добавить новый атрибут:TIY
Комментарий:Если атрибутный узел не существует, создается новый атрибут с указанным именем и значением.
Изменение атрибута с использованием nodeValue
Атрибут nodeValue можно использовать для изменения значения атрибутного узла:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0] y=x.getAttributeNode("category"); y.nodeValue="child";
Пример объяснения:
- Используя loadXMLDoc() Измените "books.xml"Загрузите в xmlDoc"
- Получите атрибут "category" первого элемента <book>
- Измените значение атрибута узла на "child"
- Предыдущая страница Получение узла DOM
- Следующая страница Удаление узла DOM