Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathDescendantIterator.cs / 1 / XPathDescendantIterator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace MS.Internal.Xml.XPath { using System.Xml.XPath; internal class XPathDescendantIterator: XPathAxisIterator { private int level = 0; public XPathDescendantIterator(XPathNavigator nav, XPathNodeType type, bool matchSelf) : base(nav, type, matchSelf) {} public XPathDescendantIterator(XPathNavigator nav, string name, string namespaceURI, bool matchSelf) : base(nav, name, namespaceURI, matchSelf) {} public XPathDescendantIterator(XPathDescendantIterator it) : base(it) { this.level = it.level; } public override XPathNodeIterator Clone() { return new XPathDescendantIterator(this); } public override bool MoveNext() { if (first) { first = false; if (matchSelf && Matches) { position = 1; return true; } } while (true) { if (nav.MoveToFirstChild()) { level++; } else { while (true) { if (level == 0) { return false; } if (nav.MoveToNext()) { break; } nav.MoveToParent(); level--; } } if (Matches) { position++; return true; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CallTemplateAction.cs
- TableLayoutPanelBehavior.cs
- WorkflowMarkupElementEventArgs.cs
- MetadataArtifactLoaderFile.cs
- ToolboxItemAttribute.cs
- CodeMethodInvokeExpression.cs
- LinkArea.cs
- TextCharacters.cs
- HttpClientCertificate.cs
- StretchValidation.cs
- RequestCacheEntry.cs
- LogManagementAsyncResult.cs
- LateBoundBitmapDecoder.cs
- CategoryValueConverter.cs
- VectorConverter.cs
- ByteKeyFrameCollection.cs
- StorageConditionPropertyMapping.cs
- CookieProtection.cs
- SmtpException.cs
- DisplayToken.cs
- Environment.cs
- AppModelKnownContentFactory.cs
- FileFormatException.cs
- CustomSignedXml.cs
- TablePattern.cs
- LineProperties.cs
- ProtectedProviderSettings.cs
- RuleSetDialog.Designer.cs
- PermissionSet.cs
- ApplicationException.cs
- ValueSerializer.cs
- Wildcard.cs
- SubMenuStyleCollection.cs
- SQLInt64.cs
- ReadOnlyDataSource.cs
- ChildTable.cs
- WebPermission.cs
- Timeline.cs
- WebUtil.cs
- ToolBar.cs
- DataGridItemEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- FileDialogPermission.cs
- HttpHandlerActionCollection.cs
- SimpleType.cs
- ItemTypeToolStripMenuItem.cs
- VerificationAttribute.cs
- XmlExpressionDumper.cs
- ArgumentOutOfRangeException.cs
- HttpListenerException.cs
- ResourcePermissionBase.cs
- Attributes.cs
- ObjectItemNoOpAssemblyLoader.cs
- Method.cs
- OpenTypeLayout.cs
- DoubleStorage.cs
- DiagnosticsConfiguration.cs
- CodeTypeReferenceExpression.cs
- LookupBindingPropertiesAttribute.cs
- RowToParametersTransformer.cs
- DiscoveryDocumentSearchPattern.cs
- SplayTreeNode.cs
- OleDbSchemaGuid.cs
- Bidi.cs
- WebFormDesignerActionService.cs
- ConnectionManagementElement.cs
- DeviceContexts.cs
- DataTableTypeConverter.cs
- oledbmetadatacolumnnames.cs
- DataGridTextBox.cs
- SerializationException.cs
- UserControl.cs
- CommentEmitter.cs
- EventMap.cs
- DynamicObject.cs
- WebPartMovingEventArgs.cs
- PermissionSetEnumerator.cs
- KeyGesture.cs
- IncomingWebResponseContext.cs
- relpropertyhelper.cs
- WithStatement.cs
- HttpProfileBase.cs
- ChannelBinding.cs
- AstTree.cs
- ApplyTemplatesAction.cs
- SimplePropertyEntry.cs
- SizeAnimationBase.cs
- ListViewSortEventArgs.cs
- LayoutInformation.cs
- FormClosingEvent.cs
- CompilationSection.cs
- APCustomTypeDescriptor.cs
- UInt32Converter.cs
- TimeIntervalCollection.cs
- SessionPageStateSection.cs
- BamlLocalizationDictionary.cs
- ButtonFlatAdapter.cs
- AspNetHostingPermission.cs
- NegotiationTokenAuthenticatorStateCache.cs
- TableCell.cs