Типы узлов XML DOM, значения nodeName и nodeValue, именованные константы
Здравствуйте, уважаемые читатели блога 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 |