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
- XmlSchemaChoice.cs
- Roles.cs
- QilStrConcatenator.cs
- RuntimeEnvironment.cs
- WebPartConnectVerb.cs
- EventLogPermissionAttribute.cs
- CodeSnippetCompileUnit.cs
- ConcurrentDictionary.cs
- RootBuilder.cs
- XmlValueConverter.cs
- BindingExpression.cs
- FeatureAttribute.cs
- ContainerVisual.cs
- CommonRemoteMemoryBlock.cs
- HandlerFactoryWrapper.cs
- KeyTimeConverter.cs
- PrimitiveDataContract.cs
- Comparer.cs
- TiffBitmapDecoder.cs
- SchemaEntity.cs
- cryptoapiTransform.cs
- KeyManager.cs
- AssemblyAttributes.cs
- _KerberosClient.cs
- PocoPropertyAccessorStrategy.cs
- AppSettingsReader.cs
- X509Certificate.cs
- FormViewUpdateEventArgs.cs
- SystemNetHelpers.cs
- SqlComparer.cs
- Binding.cs
- DateTime.cs
- VectorValueSerializer.cs
- ButtonFieldBase.cs
- HyperLinkStyle.cs
- SpellerStatusTable.cs
- handlecollector.cs
- SafeRegistryKey.cs
- StoreContentChangedEventArgs.cs
- ContainerParagraph.cs
- UserNamePasswordServiceCredential.cs
- SmtpDateTime.cs
- XmlSchemaAll.cs
- HttpValueCollection.cs
- Rotation3D.cs
- _UriTypeConverter.cs
- HealthMonitoringSectionHelper.cs
- OAVariantLib.cs
- VirtualDirectoryMapping.cs
- BindingValueChangedEventArgs.cs
- ClientData.cs
- HtmlInputImage.cs
- EntityContainerRelationshipSet.cs
- ColorTranslator.cs
- BackEase.cs
- PeerCollaboration.cs
- ApplicationException.cs
- PackageDigitalSignature.cs
- EventPrivateKey.cs
- DoubleLink.cs
- XmlLoader.cs
- ThemeDirectoryCompiler.cs
- RangeValueProviderWrapper.cs
- MemoryStream.cs
- BufferedMessageWriter.cs
- _ChunkParse.cs
- RowToFieldTransformer.cs
- path.cs
- SqlDataSourceStatusEventArgs.cs
- OleTxTransaction.cs
- DispatcherProcessingDisabled.cs
- LingerOption.cs
- MatrixAnimationUsingKeyFrames.cs
- HybridWebProxyFinder.cs
- CodeTypeMemberCollection.cs
- SafeNativeMethodsOther.cs
- RawStylusInputReport.cs
- GraphicsContainer.cs
- FacetChecker.cs
- LinkLabelLinkClickedEvent.cs
- ByteStreamMessageEncoder.cs
- EntityContainerEmitter.cs
- ExceptionValidationRule.cs
- SamlNameIdentifierClaimResource.cs
- DragDeltaEventArgs.cs
- DataGridViewCellValueEventArgs.cs
- PropertyCondition.cs
- TraceInternal.cs
- SessionState.cs
- NavigatorInput.cs
- WindowsListViewGroup.cs
- TypeKeyValue.cs
- PropertyDescriptor.cs
- XmlReaderSettings.cs
- HttpModuleCollection.cs
- WebPartManagerDesigner.cs
- TableLayoutSettingsTypeConverter.cs
- ThrowOnMultipleAssignment.cs
- XmlWhitespace.cs
- TraceData.cs