Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathDescendantIterator.cs / 2 / 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
- Comparer.cs
- OutputScopeManager.cs
- _BaseOverlappedAsyncResult.cs
- XmlQuerySequence.cs
- PackWebResponse.cs
- DecimalAnimationBase.cs
- CultureSpecificCharacterBufferRange.cs
- BaseParser.cs
- InteropBitmapSource.cs
- NameScope.cs
- EventsTab.cs
- StateMachine.cs
- GlobalItem.cs
- SerializationStore.cs
- FileInfo.cs
- InstanceData.cs
- SqlTriggerContext.cs
- OutOfMemoryException.cs
- ReaderWriterLock.cs
- MeasureItemEvent.cs
- MediaPlayer.cs
- ObjectPersistData.cs
- Frame.cs
- Wildcard.cs
- TokenBasedSetEnumerator.cs
- StorageMappingItemLoader.cs
- HostedBindingBehavior.cs
- SqlConnectionString.cs
- OledbConnectionStringbuilder.cs
- EdmComplexPropertyAttribute.cs
- SystemBrushes.cs
- Compress.cs
- Transform.cs
- RoutedEventArgs.cs
- CryptoApi.cs
- TextSelection.cs
- StrokeNodeData.cs
- CompoundFileIOPermission.cs
- IgnoreSection.cs
- ItemTypeToolStripMenuItem.cs
- NativeMethods.cs
- PEFileReader.cs
- TableLayout.cs
- DelegatingTypeDescriptionProvider.cs
- FastEncoderWindow.cs
- TreeSet.cs
- OrderPreservingPipeliningSpoolingTask.cs
- HMACMD5.cs
- LinqDataSourceSelectEventArgs.cs
- SymbolResolver.cs
- XmlILStorageConverter.cs
- _FtpControlStream.cs
- PriorityQueue.cs
- FunctionUpdateCommand.cs
- DefaultValueTypeConverter.cs
- SchemaHelper.cs
- _HeaderInfoTable.cs
- StringArrayConverter.cs
- ValidatedControlConverter.cs
- IriParsingElement.cs
- DataReceivedEventArgs.cs
- EffectiveValueEntry.cs
- ConfigurationManagerInternalFactory.cs
- LeaseManager.cs
- Hex.cs
- RoleService.cs
- WindowsListViewGroupHelper.cs
- ArrangedElement.cs
- ContextMenu.cs
- CodeArrayCreateExpression.cs
- SoapAttributeOverrides.cs
- BufferModeSettings.cs
- BooleanFunctions.cs
- ContentDefinition.cs
- Attributes.cs
- MemberNameValidator.cs
- PriorityItem.cs
- ApplicationBuildProvider.cs
- HttpBrowserCapabilitiesWrapper.cs
- SpAudioStreamWrapper.cs
- COM2PictureConverter.cs
- MenuItem.cs
- ArraySortHelper.cs
- SecurityDocument.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ToolStrip.cs
- EntityDataReader.cs
- WSSecureConversation.cs
- ISAPIWorkerRequest.cs
- SafeFindHandle.cs
- InputElement.cs
- HWStack.cs
- WizardStepBase.cs
- ServiceDescription.cs
- MatrixCamera.cs
- VerticalConnector.xaml.cs
- PropertyEmitter.cs
- WebPartConnectionsCloseVerb.cs
- InfoCardUIAgent.cs
- CompressionTransform.cs