Интерфейс NodeIterator
public interface NodeIterator
NodeIterators используются для перехода по набору узлов, например, набору узлов в NodeList, поддереву документа, управляемому определённым Node, результатам запроса или любому другому набору узлов. Набор узлов, по которому будет выполняться итерация, определяется реализацией NodeIterator. DOM Level 2 определяет единственную реализацию NodeIterator для обхода поддерева документа в порядке следования. Экземпляры этих NodeIterators создаются путём вызова DocumentTraversal.createNodeIterator(). См. также Спецификацию перемещения и диапазонов объекта документа (DOM) Level 2.
- Since:
- 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 для скрытия узла ссылки на сущность и установите 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/w3c/dom/traversal/NodeIterator.html