Interface ITreeWalker
ITreeWalker interface
Объекты TreeWalker используются для навигации по дереву документа или поддереву , используя представление документа, определяемое их флагами whatToShow и фильтром (если есть). Любая функция, которая выполняет навигацию с использованием TreeWalker, будет автоматически поддерживать любое представление, определенное TreeWalker.
Исключение узлов из логического представления поддерева может привести к тому, что структура будет существенно отличаться от того же поддерева в полном нефильтрованном документе . Узлы, являющиеся одноуровневыми узлами в представлении TreeWalker, могут быть дочерними элементами разных узлов, разделенных на в исходном представлении. Например, рассмотрим NodeFilter , который пропускает все узлы, кроме узлов Text и корневого узла документа. В полученном логическом представлении все текстовые узлы будут родственными узлами и будут отображаться как непосредственные дочерние элементы корневого узла, независимо от того, насколько глубоко вложена структура исходного документа.
См. такжеМодель объекта документа (DOM) Уровень 2 Спецификация обхода и диапазона. @с уровня DOM 2
public interface ITreeWalker : ITraversal
Характеристики
Имя | Описание |
---|---|
CurrentNode { get; set; } | Узел, в котором в данный момент расположен TreeWalker. Изменения в дереве DOM могут привести к тому, что текущий узел больше не будет приниматься фильтром, связанным с TreeWalker. currentNode также может быть явно установлен на любой узел, независимо от того, внутри поддерева, заданного корневым узлом , или будет принят фильтром и флагами whatToShow. Дальнейший обход происходит относительно currentNode, даже если он не является частью текущего представления, путем применения фильтров в запрошенном направлении; если обход невозможен, currentNode не изменяется. |
Методы
Имя | Описание |
---|---|
FirstChild() | Перемещает TreeWalker к первому видимому дочернему элементу текущего узла и возвращает новый узел. Если текущий узел не имеет видимых потомков no , возвращает значение null и сохраняет узел current . |
LastChild() | Перемещает TreeWalker к последнему видимому дочернему элементу текущего узла и возвращает новый узел. Если текущий узел не имеет видимых потомков no , возвращает значение null и сохраняет узел current . |
NextNode() | Перемещает TreeWalker на следующий видимый узел в порядке document относительно текущего узла и возвращает новый узел. Если текущий узел не имеет следующего узла или если поиск nextNode пытается сделать шаг вверх от узла root TreeWalker, возвращает значение null и сохраняет текущий узел. |
NextSibling() | Перемещает TreeWalker к следующему одноуровневому узлу current и возвращает новый узел. Если текущий узел не имеет следующего узла visible , возвращает значение null и сохраняет текущий узел. |
ParentNode() | Перемещает и возвращает ближайший видимый узел-предок узла current . Если поиск parentNode пытается выполнить шаг вверх от корневого узла TreeWalker или , если ему не удается найти видимый узел-предок, этот метод сохраняет текущую позицию и возвращает null. |
PreviousNode() | Перемещает TreeWalker на предыдущий видимый узел в порядке документа относительно текущего узла и возвращает узел new . Если текущий узел не имеет предыдущего узла или если поиск предыдущего узла пытается перейти вверх от корневого узла TreeWalker, возвращает null и сохраняет текущий узел. |
PreviousSibling() | Перемещает TreeWalker к предыдущему брату текущего узла и возвращает новый узел. Если у текущего узла нет видимого предыдущего брата, возвращается null и сохраняется текущий узел . |
Смотрите также
- interface ITraversal
- пространство имен Aspose.Html.Dom.Traversal
- сборка Aspose.HTML