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
- HttpPostedFile.cs
- MulticastIPAddressInformationCollection.cs
- NonDualMessageSecurityOverHttpElement.cs
- AQNBuilder.cs
- SettingsBindableAttribute.cs
- PatternMatcher.cs
- NavigationExpr.cs
- AnimationException.cs
- RowParagraph.cs
- UnsafeNativeMethodsMilCoreApi.cs
- odbcmetadatafactory.cs
- SByte.cs
- CryptoApi.cs
- CommonGetThemePartSize.cs
- QueueProcessor.cs
- PropertyTab.cs
- AdapterUtil.cs
- WebPartTransformerAttribute.cs
- SqlProcedureAttribute.cs
- PeerCollaborationPermission.cs
- HttpRuntime.cs
- ConfigXmlSignificantWhitespace.cs
- ProfileInfo.cs
- PseudoWebRequest.cs
- DataSetViewSchema.cs
- XamlDesignerSerializationManager.cs
- XmlMembersMapping.cs
- smtppermission.cs
- ToolStripLabel.cs
- OleDbFactory.cs
- GZipDecoder.cs
- OpenTypeLayoutCache.cs
- SystemFonts.cs
- ModulesEntry.cs
- XmlToDatasetMap.cs
- UniqueEventHelper.cs
- ContextMenu.cs
- FlatButtonAppearance.cs
- XmlConvert.cs
- DocumentReferenceCollection.cs
- TextBoxBase.cs
- Profiler.cs
- X509PeerCertificateAuthenticationElement.cs
- AbsoluteQuery.cs
- ComplexObject.cs
- TagPrefixCollection.cs
- SimplePropertyEntry.cs
- DatePickerDateValidationErrorEventArgs.cs
- StringConverter.cs
- HtmlTernaryTree.cs
- Triangle.cs
- __TransparentProxy.cs
- ProcessHostMapPath.cs
- SessionStateContainer.cs
- FixedStringLookup.cs
- ToolStripItemTextRenderEventArgs.cs
- SetIterators.cs
- DocumentViewerAutomationPeer.cs
- TextEncodedRawTextWriter.cs
- ObjectCacheHost.cs
- BuildResultCache.cs
- SchemaNotation.cs
- BindingListCollectionView.cs
- SqlXmlStorage.cs
- __Filters.cs
- TableAutomationPeer.cs
- DummyDataSource.cs
- StoryFragments.cs
- NonVisualControlAttribute.cs
- WebPartExportVerb.cs
- ParagraphResult.cs
- ZipIOLocalFileHeader.cs
- XamlDebuggerXmlReader.cs
- TextModifier.cs
- AuthenticationSection.cs
- ModelTreeEnumerator.cs
- ConstNode.cs
- OptionalRstParameters.cs
- RotationValidation.cs
- Oid.cs
- BStrWrapper.cs
- CodeExpressionStatement.cs
- CompressStream.cs
- Thumb.cs
- ContentIterators.cs
- WebControlAdapter.cs
- AttributeXamlType.cs
- DataView.cs
- _CommandStream.cs
- PriorityQueue.cs
- TypeInitializationException.cs
- AppDomainManager.cs
- HttpCacheVary.cs
- WebBrowserSiteBase.cs
- RequestQueue.cs
- SerializationException.cs
- StreamUpdate.cs
- ISCIIEncoding.cs
- DataSourceControlBuilder.cs
- ToolStripSplitButton.cs