Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование других способов доступа к элементам



В рассмотренных примерах сценариев доступ к узлам Element в иерархической структуре осуществлялся с использованием свойств  childNodes  или  firstChild узла. При этом происходил переход от одного узла к другому. Аналогичным образом можно применять свойства узла lastChild,  previousSibling , nextSibling  и  parentNode (см.таблицу 4.2).

Примечание. Свойства childNodes , firstChild  и lastChild   дают возможность доступа только к дочерним узлам, которые не являются атрибутами, в то время как свойства previousSibling  и  nextSibling  могут быть использованы для доступа к вершинному узлу любого типа.

 

Другим способом доступа к XML-элементам является использование свойства getElementsByTagName , которое позволяет извлечь все элементы, имеющие определенное имя типа (например, TITLE). Этот метод может использоваться для узла Document (см. таблицу 4.3), а также для узла Element (см. таблицу 4.6). Если вы обращаетесь к методу для узла Document, он возвращает набор узлов Element для всех элементов в документе, обладающих заданным именем типа. Например, следующий оператор позволяет получить группу узлов для всех элементов в документе, обладающих именем BOOK:

NodeList = Document.getElementsByTagName("BOOK");

 

Если вы обращаетесь к методу getElementsByTagName для узла Element, как в следующем примере, он возвращает набор узлов для всех соответствующих элементов, которые являются подчиненными для узла Element:

 

NodeList = Element.getElementsByTagName("AUTHOR");

Подсказка . Если в качестве параметра метода getElementsByTagName вы укажете "*", то метод вернет набор узлов для всех элементов (всех элементов в документе, если вы вызываете метод для объекта Document, и всех подчиненных элементов, если вы вызываете метод для объекта Element).

 

Таблица 4.6. Полезные методы, поддерживаемые узлами Element.

 

Метод узла Element Описание Пример
getAttribute (имя-атрибута) Возвращает значение атрибута элемента с заданным именем AttValue = Element.getAttribute ("InStock");
getAttributeNode (имя-атрибута) Возвращает узел Attribute, представляющий атрибут элемента с заданным именем Attribute = Element.getAttributeNode ("InStock");
getElementsByTagName (имя-типа) Возвращает набор NodeList узлов Element для всех подчиненных элементов элемента с заданным именем. Если указано "*", возвращает узлы для всех подчиненных элементов AuthorElementCollection = Element.getElementsByTagName ("AUTHOR");

 

Для узлов Element вы также можете применять общие свойства узлов, приведенные в таблице 4.2

Метод getElementsByTagName предоставляет узлы Element в виде группового объекта NodeList. Доступ к отдельным узлам осуществляется с помощью действий, описанных в подпункте 4.3 Использование объекта NodeList  данной лекции. Например, следующий код отображает (в окне предупреждения) текстовое содержимое всех узлов Element в объекте NodeList, возвращенное методом getElementsByTagName:

 

for (i=0; i < NodeList.length; ++i) alert (NodeList(i).text);

 

HTML-страница из файла  GetElements.htm демонстрирует использование метода getElementsByTagName для узла Document. Страница отображает поле ввода INPUT типа TEXT, которое дает вам возможность ввести имя элемента. Когда вы щелкаете мышью на кнопке Show Elements, вызывается функция ShowElements сценария, которая использует метод getElementsByTagName для узла Document, чтобы найти и отобразить XML-разметку для всех элементов в документе, которые носят введенное вами имя элемента (если они имеются). Заметим, что сценарий использует свойство xml каждого из узлов Element для отображения содержимого XML-разметки элемента. Страница изначально связана с документом Inventory.xml, хотя вы можете отредактировать фрагмент данных, чтобы отобразить элементы из другого XML-документа. На рисунке 4.4 показано как Internet Explorer отобразит страницу после того, как вы ввели в поле ввода INPUT имя AUTHOR и щелкнули мышью на кнопке Show Elements.

 

 

Рис. 4.4 - Отображение файла GetElements.htm в Internet Explorer

 

Содержание файла GetElements.htm:

 

!-- Имя файла: GetElements.htm -->

<HTML>

<HEAD>

<TITLE>Element Finder</TITLE>


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 256; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.014 с.)
Главная | Случайная страница | Обратная связь