Spec-Zone.ru › OpenJDK 24

Интерфейс TreeWalker

public interface TreeWalker
TreeWalker объекты используются для навигации по дереву документа или поддереву, используя представление документа, определённое их whatToShow флагами и фильтром (если таковой имеется). Любая функция, которая выполняет навигацию с использованием TreeWalker, автоматически поддержит любое представление, определённое TreeWalker.

Исключение узлов из логического представления поддерева может привести к структуре, существенно отличающейся от того же поддерева в полном, неотфильтрованном документе. Узлы, которые являются братьями по TreeWalker представлению, могут быть потомками различных, сильно удалённых узлов в исходном представлении. Например, рассмотрите NodeFilter, который пропускает все узлы, кроме узлов Text и корневого узла документа. В результирующем логическом представлении все узлы Text будут братьями и появятся как непосредственные потомки корневого узла, независимо от того, насколько глубоко вложенной является структура исходного документа.

См. также Спецификацию DOM (Document Object Model) Level 2 Traversal и Range.

С:
9, DOM Level 2

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

Модификатор и тип Метод Описание
Node firstChild()
Перемещает TreeWalker к первому видимому потомку текущего узла и возвращает новый узел.
Node getCurrentNode()
Узел, на котором в данный момент размещён TreeWalker.
boolean getExpandEntityReferences()
Значение этого флага определяет, видны ли потомки узлов ссылок на сущности для TreeWalker.
NodeFilter getFilter()
Фильтр, используемый для отбора узлов.
Node getRoot()
Узел root TreeWalker, как указано при его создании.
int getWhatToShow()
Этот атрибут определяет, какие типы узлов отображаются с помощью TreeWalker.
Node lastChild()
Перемещает TreeWalker к последнему видимому потомку текущего узла и возвращает новый узел.
Node nextNode()
Перемещает TreeWalker к следующему видимому узлу в порядке документа относительно текущего узла и возвращает новый узел.
Node nextSibling()
Перемещает TreeWalker к следующему брату текущего узла и возвращает новый узел.
Node parentNode()
Перемещается к ближайшему видимому предку текущего узла и возвращает его.
Node previousNode()
Перемещает TreeWalker к предыдущему видимому узлу в порядке документа относительно текущего узла и возвращает новый узел.
Node previousSibling()
Перемещает TreeWalker к предыдущему брату текущего узла и возвращает новый узел.
void setCurrentNode(Node currentNode)
Узел, на котором в данный момент размещён TreeWalker.

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

getRoot

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

getWhatToShow

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

getFilter

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

getExpandEntityReferences

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

getCurrentNode

Node getCurrentNode()
Узел, на котором в данный момент находится TreeWalker.
Изменения в дереве DOM могут привести к тому, что текущий узел больше не будет приниматься связанным с TreeWalker фильтром. currentNode также можно явно установить на любой узел, независимо от того, находится ли он в поддереве, указанном узлом root, или принимается фильтром и флагами whatToShow. Дальнейшая навигация происходит относительно currentNode, даже если он не входит в текущий вид, применяя фильтры в запрошенном направлении; если навигация невозможна, currentNode не изменяется.

setCurrentNode

void setCurrentNode(Node currentNode) throws DOMException
Узел, на котором в данный момент находится TreeWalker.
Изменения в дереве DOM могут привести к тому, что текущий узел больше не будет приниматься связанным с TreeWalker фильтром. currentNode также можно явно установить на любой узел, независимо от того, находится ли он в поддереве, указанном узлом root, или принимается фильтром и флагами whatToShow. Дальнейшая навигация происходит относительно currentNode, даже если он не входит в текущий вид, применяя фильтры в запрошенном направлении; если навигация невозможна, currentNode не изменяется.
Возбуждает:
DOMException - NOT_SUPPORTED_ERR: Возникает, если попытка установить currentNode на null.

parentNode

Node parentNode()
Перемещается к ближайшему видимому предку текущего узла и возвращает его. Если поиск parentNode пытается переместиться вверх от узла TreeWalker, или если не удаётся найти видимого предка, этот метод сохраняет текущее положение и возвращает null.
Возвращает:
Новый родительский узел или null, если у текущего узла нет родителя в логическом представлении TreeWalker.

firstChild

Node firstChild()
Перемещает TreeWalker к первому видимому потомку текущего узла и возвращает новый узел. Если у текущего узла нет видимых потомков, возвращает null и сохраняет текущий узел.
Возвращает:
Новый узел или null, если у текущего узла нет видимых потомков в логическом представлении TreeWalker.

lastChild

Node lastChild()
Перемещает TreeWalker к последнему видимому потомку текущего узла и возвращает новый узел. Если у текущего узла нет видимых потомков, возвращает null и сохраняет текущий узел.
Возвращает:
Новый узел или null, если у текущего узла нет потомков в логическом представлении TreeWalker.

previousSibling

Node previousSibling()
Перемещает TreeWalker к предыдущему брату текущего узла и возвращает новый узел. Если у текущего узла нет видимого предыдущего брата, возвращает null и сохраняет текущий узел.
Возвращает:
Новый узел или null, если у текущего узла нет предыдущего брата в логическом представлении TreeWalker.

nextSibling

Node nextSibling()
Перемещает TreeWalker к следующему брату текущего узла и возвращает новый узел. Если у текущего узла нет видимого следующего брата, возвращает null и сохраняет текущий узел.
Возвращает:
Новый узел или null, если у текущего узла нет следующего брата в логическом представлении TreeWalker.

previousNode

Node previousNode()
Перемещает TreeWalker к предыдущему видимому узлу в порядке документа относительно текущего узла и возвращает новый узел. Если у текущего узла нет предыдущего узла или поиск previousNode пытается переместиться вверх от узла TreeWalker, возвращает null и сохраняет текущий узел.
Возвращает:
Новый узел или null, если у текущего узла нет предыдущего узла в логическом представлении TreeWalker.

nextNode

Node nextNode()
Перемещает TreeWalker к следующему видимому узлу в порядке документа относительно текущего узла и возвращает новый узел. Если у текущего узла нет следующего узла или поиск nextNode пытается переместиться вверх от узла TreeWalker, возвращает null и сохраняет текущий узел.
Возвращает:
Новый узел или null, если у текущего узла нет следующего узла в логическом представлении TreeWalker.

© 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/TreeWalker.html

Spec-Zone.ru

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