/// <summary> Apply the given visitor to the current page. /// The visitor is passed to the <code>accept()</code> method of each node /// in the page in a depth first traversal. The visitor /// <code>beginParsing()</code> method is called prior to processing the /// page and <code>finishedParsing()</code> is called after the processing. /// </summary> /// <param name="visitor">The visitor to visit all nodes with. /// </param> /// <throws> ParserException If a parse error occurs while traversing </throws> /// <summary> the page with the visitor. /// </summary> public virtual void VisitAllNodesWith(NodeVisitor visitor) { INode node; visitor.BeginParsing(); for (INodeIterator e = Elements(); e.HasMoreNodes();) { node = e.NextNode(); node.Accept(visitor); } visitor.FinishedParsing(); }
///<summary> ///When overridden in a derived class, moves the <see cref="T:System.Xml.XPath.XPathNavigator"></see> to the first attribute of the current node. ///</summary> /// ///<returns> ///Returns true if the <see cref="T:System.Xml.XPath.XPathNavigator"></see> is successful moving to the first attribute of the current node; otherwise, false. If false, the position of the <see cref="T:System.Xml.XPath.XPathNavigator"></see> is unchanged. ///</returns> /// public override bool MoveToFirstAttribute() { INodeIterator iterator = fCursor.Current.GetAttributes(); if (iterator != null) { NavigableIterator navIterator = new NavigableIterator(iterator, fCursor); if (navIterator.MoveNext()) { fCursor = navIterator; return(true); } } // No Attributes defined return(false); }
INavCursor INavCursor.Clone() { INodeIterator clonedIterator = fCurrentIterator.Clone(); INavCursor clonedParent = null; if (fParentIterator != null) { clonedParent = fParentIterator.Clone(); } INodePointer clonedPointer = null; if (fCurrentPointer != null) { clonedPointer = fCurrentPointer.Clone(); } return(new NavigableIterator(clonedIterator, clonedParent, clonedPointer)); }
private NavigableIterator(INodeIterator wrappedIterator, INavCursor parentIterator, INodePointer current) { fCurrentIterator = wrappedIterator; fParentIterator = parentIterator; fCurrentPointer = current; }
public NavigableIterator(INodeIterator wrappedIterator, INavCursor parentIterator) { fCurrentIterator = wrappedIterator; fParentIterator = parentIterator; }