The IDLffXMLDOMNodeIterator class is used to navigate a DOM tree by creating a node object for accessing a DOM node and then destroying that node object as the iterator moves to another DOM node. The iterator creates an object and returns an object reference to that object each time the iterator moves, destroying the object that it last returned when the iterator last moved. This process lets the application visit the nodes in a DOM tree efficiently and easily.

The iterator moves back and forth through a document in a depth-first document-order traversal that corresponds to the order of the starting tags in an XML document. The node iterator is conceptually a “current” node pointer into the DOM tree. The pointer is positioned between nodes, so there is no concept of a current node. Instead, nodes on either side of the iterator's current position are referred to as the next and previous nodes. When the iterator moves, it returns either the next node or the previous node, depending on the direction it moves. The iterator is then positioned after the next node or before the previous node, again depending on the direction.

When the iterator is positioned at the start of a list of nodes, it has a next node, but no previous node. When the iterator is positioned at the end of a list of nodes, it has a previous node, but no next node.

The node specified when the iterator is created is the root node for the iterator. The iterator is positioned before the root node when the iterator is created. The nodes following the root node are the root node's children, if any. The iterator cannot move to siblings or to the parent of the root node. The root node therefore represents the top node of the subtree visible to the iterator.

The iterator never destroys the IDLffXMLDOMDocument objects that it might return. The iterator can only return an IDLffXMLDOMDocument object if an IDLffXMLDOMDocument object is the root node.

Objects of this class are created with the IDLffXMLDOMDocument::CreateNodeIterator method.




See IDLffXMLDOMNodeIterator::Init.


Objects of this class have no properties of their own, but do have properties inherited from any superclasses.


This class has the following methods:

In addition, this class inherits the methods of any superclasses.

Version History