Spec-Zone.ru › OpenJDK 25

Интерфейс NodeIterator

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

См. также Спецификацию обхода и диапазонов объектной модели документа (DOM) Level 2.

Начиная с:
9, DOM Level 2

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

Модификатор и тип Метод Описание
void detach()
Отсоединяет NodeIterator от набора, по которому выполнялся обход, освобождая все вычислительные ресурсы и переводя NodeIterator в состояние INVALID.
boolean getExpandEntityReferences()
Значение этого флага определяет, видны ли дочерние узлы узлов ссылок на сущности для NodeIterator.
NodeFilter getFilter()
NodeFilter, используемый для фильтрации узлов.
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()
NodeFilter, используемый для фильтрации узлов.

getExpandEntityReferences

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

Чтобы получить представление документа с раскрытыми ссылками на сущности, не показывающее сам узел ссылки на сущность, используйте флаги whatToShow, чтобы скрыть узел ссылки на сущность, и при создании NodeIterator задайте для expandEntityReferences значение true. Чтобы получить представление документа, в котором присутствуют узлы ссылок на сущности, но сущности не раскрываются, используйте флаги 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.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая общие сведения, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.xml/org/w3c/dom/traversal/NodeIterator.html

Spec-Zone.ru

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