
The **Aspose.Html.Dom.Traversal**  namespace contains methods that
create iterators and tree-walkers to navigate between elements and
traverse a node and its children in document order.

### Classes
| Class | Description |
| :- | :- |
| [`IDocumentTraversal`](/html/python-net/aspose.html.dom.traversal/idocumenttraversal) | DocumentTraversal contains methods that create iterators and <br/>tree-walkers to traverse a node and its children in document order (depth <br/>first, pre-order traversal, which is equivalent to the order in which the <br/>start tags occur in the text representation of the document). In DOMs <br/>which support the Traversal feature, DocumentTraversal will <br/>be implemented by the same objects that implement the Document interface.<br/><br/>See also the [Document object Model (DOM) Level 2 Traversal and Range Specification](http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113).<br/>@since DOM Level 2 |
| [`IElementTraversal`](/html/python-net/aspose.html.dom.traversal/ielementtraversal) | The ElementTraversal interface is a set of read-only attributes which allow an author to easily navigate between elements in a document. In conforming implementations of Element Traversal, all objects that implement Element must also implement the ElementTraversal interface. |
| [`INodeFilter`](/html/python-net/aspose.html.dom.traversal/inodefilter) | Filters are objects that know how to "filter out" nodes. If a <br/>NodeIterator or TreeWalker is given a <br/>NodeFilter, it applies the filter before it returns the next <br/>node. If the filter says to accept the node, the traversal logic returns <br/>it; otherwise, traversal looks for the next node and pretends that the <br/>node that was rejected was not there.<br/><br/>The DOM does not provide any filters. NodeFilter is just an <br/>interface that users can implement to provide their own filters. <br/><br/><br/><br/>NodeFilters do not need to know how to traverse from node <br/>to node, nor do they need to know anything about the data structure that <br/>is being traversed. This makes it very easy to write filters, since the <br/>only thing they have to know how to do is evaluate a single node. One <br/>filter may be used with a number of different kinds of traversals, <br/>encouraging code reuse.<br/><br/><br/><br/>See also the [Document object Model (DOM) Level 2 Traversal and Range Specification](http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113).<br/>@since DOM Level 2 |
| [`INodeIterator`](/html/python-net/aspose.html.dom.traversal/inodeiterator) | Iterators are used to step through a set of nodes, e.g. the <br/>set of nodes in a NodeList, the document subtree governed by <br/>a particular Node, the results of a query, or any other set <br/>of nodes. The set of nodes to be iterated is determined by the <br/>implementation of the NodeIterator. DOM Level 2 specifies a <br/>single NodeIterator implementation for document-order <br/>traversal of a document subtree. Instances of these iterators are created <br/>by calling DocumentTraversal<br/>.createNodeIterator().<br/><br/>See also the [Document object Model (DOM) Level 2 Traversal and Range Specification](http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113).<br/>@since DOM Level 2 |
| [`ITraversal`](/html/python-net/aspose.html.dom.traversal/itraversal) | Iterators are used to step through a set of nodes, e.g. the <br/>set of nodes in a NodeList, the document subtree governed by <br/>a particular Node, the results of a query, or any other set <br/>of nodes. The set of nodes to be iterated is determined by the <br/>implementation of the NodeIterator. DOM Level 2 specifies a <br/>single NodeIterator implementation for document-order <br/>traversal of a document subtree. Instances of these iterators are created <br/>by calling DocumentTraversal<br/>.createNodeIterator().<br/><br/>See also the [Document object Model (DOM) Level 2 Traversal and Range Specification](http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113).<br/>@since DOM Level 2 |
| [`ITreeWalker`](/html/python-net/aspose.html.dom.traversal/itreewalker) | TreeWalker objects are used to navigate a document tree or <br/>subtree using the view of the document defined by their <br/>whatToShow flags and filter (if any). Any function which <br/>performs navigation using a TreeWalker will automatically <br/>support any view defined by a TreeWalker.<br/><br/>Omitting nodes from the logical view of a subtree can result in a <br/>structure that is substantially different from the same subtree in the <br/>complete, unfiltered document. Nodes that are siblings in the <br/>TreeWalker view may be children of different, widely <br/>separated nodes in the original view. For instance, consider a <br/>NodeFilter that skips all nodes except for Text nodes and <br/>the root node of a document. In the logical view that results, all text <br/>nodes will be siblings and appear as direct children of the root node, no <br/>matter how deeply nested the structure of the original document.<br/><br/><br/><br/>See also the [Document object Model (DOM) Level 2 Traversal and Range Specification](http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113).<br/>@since DOM Level 2 |


