XML DOM Получение значения узла
Свойство nodeValue используется для получения текстового значения узла.
Метод getAttribute() возвращает значение атрибута.
Получение значения элемента
В DOM каждый компонент является узлом. Узлы элементов не имеют текстового значения.
Текст узла элемента хранится в дочернем узле. Этот узел называется текстовым узлом.
Чтобы получить текст элемента, нужно получить значение этого дочернего узла (текстового узла).
Получение значения элемента
Метод getElementsByTagName() возвращает список узлов, содержащий все элементы с указанным именем тега, в порядке их появления в исходном документе.
Следующий код с помощьюloadXMLDoc()загружаетв xmlDoc и извлекает первый элемент <title>:
x=xmlDoc.getElementsByTagName("title")[0];
Свойство childNodes возвращает список дочерних узлов. Элемент <title> имеет только один дочерний узел. Это текстовый узел.
Следующий код извлекает текстовый узел элемента <title>:
y=x.childNodes[0];
Свойство nodeValue возвращает текстовое значение текстового узла:
Пример
y=x.childNodes[0];
txt=y.nodeValue;
Попробуйте сами »
Результат: txt = "Everyday Italian"
Перебрать все элементы <title>:
Получить значение атрибута
В DOM атрибуты также являются узлами. В отличие от узлов элементов, узлы атрибутов имеют текстовые значения.
Способ получить значение атрибута — получить его текстовое значение.
Это можно сделать с помощью метода getAttribute() или свойства nodeValue узла атрибута.
Получить значение атрибута - getAttribute()
Метод getAttribute() возвращает атрибут.Значение。
Следующий код извлекает текстовое значение атрибута "lang" первого элемента <title>:
Пример
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");
Попробуйте сами »
Результат: txt = "en"
Пояснение к примеру:
- ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
- Присвойте переменной txt значение атрибута "lang" первого узла элемента title.
Пройдите в цикле по всем элементам <book> и получите их атрибуты "category":
Получить значение атрибута - getAttributeNode()
Метод getAttributeNode() возвращает атрибут.узел。
Следующий код извлекает текстовое значение атрибута "lang" первого элемента <title>:
Пример
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;
Попробуйте сами »
Результат: Результат: txt = "en"
Пояснение к примеру:
- ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
- Получить узел атрибута "lang" первого узла элемента <title>.
- Присвоить переменной txt значение атрибута.
Пройдите в цикле по всем элементам <book> и получите их атрибуты "category":
Другие расширения