Основы XML


           

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


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

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

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

NodeList = Document.getElementsByTagName("BOOK");

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

NodeList = Element.getElementsByTagName("AUTHOR");

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

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

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




Содержание  Назад  Вперед