Spec-Zone.ru › OpenJDK 21

Интерфейс NodeIterator

public interface NodeIterator
NodeIterators используются для перехода по набору узлов, например, по набору узлов в NodeList, поддереву документа, управляемому определённым Node, результатам запроса или любому другому набору узлов. Набор узлов, по которому будет осуществляться итерация, определяется реализацией NodeIterator. DOM Level 2 определяет единственную реализацию NodeIterator для обхода поддерева документа в порядке следования. Экземпляры этих NodeIterators создаются путём вызова DocumentTraversal.createNodeIterator().

См. также Спецификацию DOM Level 2 Traversal and Range.

Since:
9, DOM Level 2

Краткое описание методов

Модификатор и тип Метод Описание
void detach()
Отсоединяет NodeIterator от набора, по которому он выполнял итерацию, освобождая вычислительные ресурсы и переводя NodeIterator в состояние INVALID.
boolean getExpandEntityReferences()
Значение этого флага определяет, отображаются ли потомки узлов ссылок на сущности для NodeIterator.
NodeFilter getFilter()
Фильтр, используемый для отбора узлов.
Node getRoot()
Корневой узел NodeIterator, указанный при его создании.
int getWhatToShow()
Этот атрибут определяет типы узлов, представленные через NodeIterator.
Node nextNode()
Возвращает следующий узел в наборе и перемещает позицию NodeIterator в наборе.
Node previousNode()
Возвращает предыдущий узел в наборе и перемещает позицию NodeIterator назад в наборе.

Подробное описание методов

getRoot

Node getRoot()
Корневой узел NodeIterator, указанный при его создании.

getWhatToShow

int getWhatToShow()
Этот атрибут определяет типы узлов, представленные через NodeIterator. Доступный набор констант определён в интерфейсе NodeFilter. Узлы, не принятые whatToShow будут пропущены, но их потомки могут быть рассмотрены. Обратите внимание, что этот пропуск имеет приоритет над фильтром, если таковой имеется.

getFilter

NodeFilter getFilter()
Фильтр, используемый для отбора узлов.

getExpandEntityReferences

boolean getExpandEntityReferences()
Значение этого флага определяет, отображаются ли потомки узлов ссылок на сущности для NodeIterator. Если false, эти потомки и их потомки будут отброшены. Обратите внимание, что это отклонение имеет приоритет над whatToShow и фильтром. Также обратите внимание, что это единственный случай, когда NodeIterators может отклонить всё поддерево, а не пропускать отдельные узлы.

Чтобы получить представление документа, в котором ссылки на сущности раскрыты и сам узел ссылки на сущность не отображается, используйте флаги whatToShow для скрытия узла ссылки на сущность и установите expandEntityReferences в true при создании NodeIterator. Чтобы получить представление документа, в котором есть узлы ссылок на сущности, но нет расширения сущностей, используйте флаги whatToShow для отображения узла ссылки на сущность и установите expandEntityReferences в false.

nextNode

Node nextNode() throws DOMException
Возвращает следующий узел в наборе и перемещает позицию NodeIterator в наборе. После создания NodeIterator, первый вызов nextNode() возвращает первый узел в наборе.
Возвращает:
Следующий Node в наборе, по которому выполняется итерация, или null, если в этом наборе больше нет элементов.
Выбрасывает:
DOMException - INVALID_STATE_ERR: Сгенерировано, если этот метод вызван после вызова метода detach.

previousNode

Node previousNode() throws DOMException
Возвращает предыдущий узел в наборе и перемещает позицию NodeIterator назад в наборе.
Возвращает:
Предыдущий Node в наборе, по которому выполняется итерация, или null, если в этом наборе больше нет элементов.
Выбрасывает:
DOMException - INVALID_STATE_ERR: Сгенерировано, если этот метод вызван после вызова метода detach.

detach

void detach()
Отсоединяет NodeIterator от набора, по которому он выполнял итерацию, освобождая вычислительные ресурсы и переводя NodeIterator в состояние INVALID. После вызова detach, вызовы nextNode или previousNode будут генерировать исключение INVALID_STATE_ERR.

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/org/w3c/dom/traversal/NodeIterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API