Типы узлов XML DOM, значения nodeName и nodeValue, именованные константы

Рубрика: DOM - Объектная Модель Документа

Здравствуйте, уважаемые читатели блога okITgo.ru! Небольшой пост о типах узлов XML DOM.

Напомню, что объектная модель XML документа DOM представляет документ как иерархию объектов узлов. Каждый узел является узлом определенного типа.


Попробуйте Сами – Примеры

Примеры ниже используют XML файл books.xml.
Функция, loadXMLDoc(), описанная во внешнем скрипте JavaScript, используется для загрузки XML файла.

Показать nodeName и nodeType всех элементов

Показать nodeName и nodeValue всех элементов


Типы Узлов

Следующая таблица перечисляет различные типы узлов W3C, а также какие типы узлов они могут иметь в качестве детей:

Тип узла Описание Дети
Документ Представляет весь документ целиком (корневой узел дерева DOM) Элемент (макс. один), Инструкция Обработки, Комментарий, Тип Документа
Фрагмент Документа Представляет "облегченный" объект документа, который может содержать порцию (часть) документа Элемент, Инструкция Обработки, Комментарий, Текст, Секция CDATA, Ссылка Сущности
Тип Документа Обеспечивает интерфейс к сущностям, определенным для документа Нет
Инструкция Обработки Представляет инструкцию обработки Нет
Ссылка Сущности Представляет ссылку сущностиRepresents an entity reference Элемент, Инструкция Обработки, Комментарий, Текст, Секция CDATA, Ссылка Сущности
Элемент Представляет элемент Элемент, Текст, Комментарий, Инструкция Обработки, Секция CDATA, Ссылка Сущности
Атрибут Представляет атрибут Текст, Ссылка Сущности
Текст Представляет текстовое содержимое элемента или атрибута Нет
Секция CDATA Представляет секцию CDATA в документе (текст, который НЕ будет разбираться парсером) Нет
Комментарий Представляет комментарий Нет
Сущность Представляет сущность Элемент, Инструкция Обработки, Комментарий, Текст, Секция CDATA, Ссылка Сущности
Нотация Представляет нотацию, объявленную в DTD Нет

Типы Узлов – Возвращаемые Значения

Следующая таблица перечисляет, какие значения свойств nodeName и nodeValue будут возвращены для каждого типа узла:

Тип узла nodeName возвращает nodeValue возвращает
Документ #document null
Фрагмент Документа #document fragment null
Тип Документа название типа документа null
Ссылка Сущности имя ссылки сущности null
Элемент имя элемента null
Атрибут имя атрибута значение атрибута
Инструкция Обработки цель содержимое узла
Комментарий #comment текст комментария
Текст #text содержимое узла
Секция CDATA #cdata-section содержимое узла
Сущность имя сущности null
Нотация имя нотации null


Типы Узлов – Именованные Константы

Тип Узла Именованная Константа
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE