Spec-Zone.ru › OpenJDK 17

Интерфейс TreeWalker

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

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

См. также Спецификацию перемещения и диапазонов DOM (Document Object Model) уровня 2.

С тех пор:
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 объекта. Если ложно, эти дочерние узлы и их потомки будут отклонены. Обратите внимание, что это отклонение имеет приоритет над whatToShow объектом и фильтром, если таковой имеется.
Чтобы создать представление документа, в котором ссылки на сущности раскрыты, а сам узел ссылки на сущность не отображается, используйте whatToShow флаги, чтобы скрыть узел ссылки на сущность и установите expandEntityReferences в «истина» при создании TreeWalker объекта. Чтобы создать представление документа, содержащего узлы ссылок на сущности, но без расширения сущностей, используйте whatToShow флаги, чтобы отобразить узел ссылки на сущность и установите expandEntityReferences в «ложь».

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 узла root или если он не находит видимого предка, этот метод сохраняет текущее положение и возвращает 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 узла root, возвращает null, и сохраняет текущий узел.
Возвращает:
Новый узел или null если текущий узел не имеет предыдущего узла в логическом представлении TreeWalker объекта.

nextNode

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

© 1993, 2021, 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/17/docs/api/java.xml/org/w3c/dom/traversal/TreeWalker.html

Spec-Zone.ru

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