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