SeekableXPathNavigator Class

Provides read-only, random access to data contained in XML documents and enables efficient querying for specified nodes.

System.Object
  System.Xml.XPath.XPathItem
    System.Xml.XPath.XPathNavigator
      System.ServiceModel.Dispatcher.SeekableXPathNavigator

Namespace:  System.ServiceModel.Dispatcher
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public abstract class SeekableXPathNavigator : XPathNavigator

The SeekableXPathNavigator type exposes the following members.

  NameDescription
Protected methodSeekableXPathNavigatorInitializes a new instance of the SeekableXPathNavigator class.
Top

  NameDescription
Public propertyBaseURIWhen overridden in a derived class, gets the base URI for the current node. (Inherited from XPathNavigator.)
Public propertyCanEditGets a value indicating whether the XPathNavigator can edit the underlying XML data. (Inherited from XPathNavigator.)
Public propertyCurrentPositionWhen overridden in a derived class, gets or sets a value associated with the node in the data where the XPath navigator is positioned.
Public propertyHasAttributesGets a value indicating whether the current node has any attributes. (Inherited from XPathNavigator.)
Public propertyHasChildrenGets a value indicating whether the current node has any child nodes. (Inherited from XPathNavigator.)
Public propertyInnerXmlGets or sets the markup representing the child nodes of the current node. (Inherited from XPathNavigator.)
Public propertyIsEmptyElementWhen overridden in a derived class, gets a value indicating whether the current node is an empty element without an end element tag. (Inherited from XPathNavigator.)
Public propertyIsNodeGets a value indicating if the current node represents an XPath node. (Inherited from XPathNavigator.)
Public propertyLocalNameWhen overridden in a derived class, gets the Name of the current node without any namespace prefix. (Inherited from XPathNavigator.)
Public propertyNameWhen overridden in a derived class, gets the qualified name of the current node. (Inherited from XPathNavigator.)
Public propertyNamespaceURIWhen overridden in a derived class, gets the namespace URI of the current node. (Inherited from XPathNavigator.)
Public propertyNameTableWhen overridden in a derived class, gets the XmlNameTable of the XPathNavigator. (Inherited from XPathNavigator.)
Public propertyNodeTypeWhen overridden in a derived class, gets the XPathNodeType of the current node. (Inherited from XPathNavigator.)
Public propertyOuterXmlGets or sets the markup representing the opening and closing tags of the current node and its child nodes. (Inherited from XPathNavigator.)
Public propertyPrefixWhen overridden in a derived class, gets the namespace prefix associated with the current node. (Inherited from XPathNavigator.)
Public propertySchemaInfoGets the schema information that has been assigned to the current node as a result of schema validation. (Inherited from XPathNavigator.)
Public propertyTypedValueGets the current node as a boxed object of the most appropriate .NET Framework type. (Inherited from XPathNavigator.)
Public propertyUnderlyingObjectUsed by XPathNavigator implementations which provide a "virtualized" XML view over a store, to provide access to underlying objects. (Inherited from XPathNavigator.)
Public propertyValueWhen overridden in a derived class, gets the string value of the item. (Inherited from XPathItem.)
Public propertyValueAsBooleanGets the current node's value as a Boolean. (Inherited from XPathNavigator.)
Public propertyValueAsDateTimeGets the current node's value as a DateTime. (Inherited from XPathNavigator.)
Public propertyValueAsDoubleGets the current node's value as a Double. (Inherited from XPathNavigator.)
Public propertyValueAsIntGets the current node's value as an Int32. (Inherited from XPathNavigator.)
Public propertyValueAsLongGets the current node's value as an Int64. (Inherited from XPathNavigator.)
Public propertyValueTypeGets the .NET Framework Type of the current node. (Inherited from XPathNavigator.)
Public propertyXmlLangGets the xml:lang scope for the current node. (Inherited from XPathNavigator.)
Public propertyXmlTypeGets the XmlSchemaType information for the current node. (Inherited from XPathNavigator.)
Top

  NameDescription
Public methodAppendChild()Returns an XmlWriter object used to create one or more new child nodes at the end of the list of child nodes of the current node. (Inherited from XPathNavigator.)
Public methodAppendChild(String)Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified. (Inherited from XPathNavigator.)
Public methodAppendChild(XmlReader)Creates a new child node at the end of the list of child nodes of the current node using the XML contents of the XmlReader object specified. (Inherited from XPathNavigator.)
Public methodAppendChild(XPathNavigator)Creates a new child node at the end of the list of child nodes of the current node using the nodes in the XPathNavigator specified. (Inherited from XPathNavigator.)
Public methodAppendChildElementCreates a new child element node at the end of the list of child nodes of the current node using the namespace prefix, local name and namespace URI specified with the value specified. (Inherited from XPathNavigator.)
Public methodCheckValidityVerifies that the XML data in the XPathNavigator conforms to the XML Schema definition language (XSD) schema provided. (Inherited from XPathNavigator.)
Public methodCloneWhen overridden in a derived class, creates a new XPathNavigator positioned at the same node as this XPathNavigator. (Inherited from XPathNavigator.)
Public methodComparePosition(XPathNavigator)Compares the position of the current XPathNavigator with the position of the XPathNavigator specified. (Inherited from XPathNavigator.)
Public methodComparePosition(Int64, Int64)When overridden in a derived class, returns a value that describes the document order of the two specified positions.
Public methodCompileCompiles a string representing an XPath expression and returns an XPathExpression object. (Inherited from XPathNavigator.)
Public methodCreateAttributeCreates an attribute node on the current element node using the namespace prefix, local name and namespace URI specified with the value specified. (Inherited from XPathNavigator.)
Public methodCreateAttributesReturns an XmlWriter object used to create new attributes on the current element. (Inherited from XPathNavigator.)
Public methodCreateNavigatorReturns a copy of the XPathNavigator. (Inherited from XPathNavigator.)
Public methodDeleteRangeDeletes a range of sibling nodes from the current node to the node specified. (Inherited from XPathNavigator.)
Public methodDeleteSelfDeletes the current node and its child nodes. (Inherited from XPathNavigator.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodEvaluate(String)Evaluates the specified XPath expression and returns the typed result. (Inherited from XPathNavigator.)
Public methodEvaluate(XPathExpression)Evaluates the XPathExpression and returns the typed result. (Inherited from XPathNavigator.)
Public methodEvaluate(String, IXmlNamespaceResolver)Evaluates the specified XPath expression and returns the typed result, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression. (Inherited from XPathNavigator.)
Public methodEvaluate(XPathExpression, XPathNodeIterator)Uses the supplied context to evaluate the XPathExpression, and returns the typed result. (Inherited from XPathNavigator.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetAttributeGets the value of the attribute with the specified local name and namespace URI. (Inherited from XPathNavigator.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLocalNameWhen overridden in a derived class, returns the local name of the node at the position specified.
Public methodGetNameWhen overridden in a derived class, returns the name of the node at the specified position.
Public methodGetNamespace(Int64)When overridden in a derived class, returns the namespace of the node at the specified position.
Public methodGetNamespace(String)Returns the value of the namespace node corresponding to the specified local name. (Inherited from XPathNavigator.)
Public methodGetNamespacesInScopeReturns the in-scope namespaces of the current node. (Inherited from XPathNavigator.)
Public methodGetNodeTypeWhen overridden in a derived class, returns the type of the node at the specified position.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetValueWhen overridden in a derived class, returns the text value of the node at the specified position.
Public methodInsertAfter()Returns an XmlWriter object used to create a new sibling node after the currently selected node. (Inherited from XPathNavigator.)
Public methodInsertAfter(String)Creates a new sibling node after the currently selected node using the XML string specified. (Inherited from XPathNavigator.)
Public methodInsertAfter(XmlReader)Creates a new sibling node after the currently selected node using the XML contents of the XmlReader object specified. (Inherited from XPathNavigator.)
Public methodInsertAfter(XPathNavigator)Creates a new sibling node after the currently selected node using the nodes in the XPathNavigator object specified. (Inherited from XPathNavigator.)
Public methodInsertBefore()Returns an XmlWriter object used to create a new sibling node before the currently selected node. (Inherited from XPathNavigator.)
Public methodInsertBefore(String)Creates a new sibling node before the currently selected node using the XML string specified. (Inherited from XPathNavigator.)
Public methodInsertBefore(XmlReader)Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified. (Inherited from XPathNavigator.)
Public methodInsertBefore(XPathNavigator)Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified. (Inherited from XPathNavigator.)
Public methodInsertElementAfterCreates a new sibling element after the current node using the namespace prefix, local name and namespace URI specified, with the value specified. (Inherited from XPathNavigator.)
Public methodInsertElementBeforeCreates a new sibling element before the current node using the namespace prefix, local name, and namespace URI specified, with the value specified. (Inherited from XPathNavigator.)
Public methodIsDescendantDetermines whether the specified XPathNavigator is a descendant of the current XPathNavigator. (Inherited from XPathNavigator.)
Public methodIsSamePositionWhen overridden in a derived class, determines whether the current XPathNavigator is at the same position as the specified XPathNavigator. (Inherited from XPathNavigator.)
Public methodLookupNamespaceGets the namespace URI for the specified prefix. (Inherited from XPathNavigator.)
Public methodLookupPrefixGets the prefix declared for the specified namespace URI. (Inherited from XPathNavigator.)
Public methodMatches(String)Determines whether the current node matches the specified XPath expression. (Inherited from XPathNavigator.)
Public methodMatches(XPathExpression)Determines whether the current node matches the specified XPathExpression. (Inherited from XPathNavigator.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodMoveToWhen overridden in a derived class, moves the XPathNavigator to the same position as the specified XPathNavigator. (Inherited from XPathNavigator.)
Public methodMoveToAttributeMoves the XPathNavigator to the attribute with the matching local name and namespace URI. (Inherited from XPathNavigator.)
Public methodMoveToChild(XPathNodeType)Moves the XPathNavigator to the child node of the XPathNodeType specified. (Inherited from XPathNavigator.)
Public methodMoveToChild(String, String)Moves the XPathNavigator to the child node with the local name and namespace URI specified. (Inherited from XPathNavigator.)
Public methodMoveToFirstMoves the XPathNavigator to the first sibling node of the current node. (Inherited from XPathNavigator.)
Public methodMoveToFirstAttributeWhen overridden in a derived class, moves the XPathNavigator to the first attribute of the current node. (Inherited from XPathNavigator.)
Public methodMoveToFirstChildWhen overridden in a derived class, moves the XPathNavigator to the first child node of the current node. (Inherited from XPathNavigator.)
Public methodMoveToFirstNamespace()Moves the XPathNavigator to first namespace node of the current node. (Inherited from XPathNavigator.)
Public methodMoveToFirstNamespace(XPathNamespaceScope)When overridden in a derived class, moves the XPathNavigator to the first namespace node that matches the XPathNamespaceScope specified. (Inherited from XPathNavigator.)
Public methodMoveToFollowing(XPathNodeType)Moves the XPathNavigator to the following element of the XPathNodeType specified in document order. (Inherited from XPathNavigator.)
Public methodMoveToFollowing(String, String)Moves the XPathNavigator to the element with the local name and namespace URI specified in document order. (Inherited from XPathNavigator.)
Public methodMoveToFollowing(XPathNodeType, XPathNavigator)Moves the XPathNavigator to the following element of the XPathNodeType specified, to the boundary specified, in document order. (Inherited from XPathNavigator.)
Public methodMoveToFollowing(String, String, XPathNavigator)Moves the XPathNavigator to the element with the local name and namespace URI specified, to the boundary specified, in document order. (Inherited from XPathNavigator.)
Public methodMoveToIdWhen overridden in a derived class, moves to the node that has an attribute of type ID whose value matches the specified String. (Inherited from XPathNavigator.)
Public methodMoveToNamespaceMoves the XPathNavigator to the namespace node with the specified namespace prefix. (Inherited from XPathNavigator.)
Public methodMoveToNext()When overridden in a derived class, moves the XPathNavigator to the next sibling node of the current node. (Inherited from XPathNavigator.)
Public methodMoveToNext(XPathNodeType)Moves the XPathNavigator to the next sibling node of the current node that matches the XPathNodeType specified. (Inherited from XPathNavigator.)
Public methodMoveToNext(String, String)Moves the XPathNavigator to the next sibling node with the local name and namespace URI specified. (Inherited from XPathNavigator.)
Public methodMoveToNextAttributeWhen overridden in a derived class, moves the XPathNavigator to the next attribute. (Inherited from XPathNavigator.)
Public methodMoveToNextNamespace()Moves the XPathNavigator to the next namespace node. (Inherited from XPathNavigator.)
Public methodMoveToNextNamespace(XPathNamespaceScope)When overridden in a derived class, moves the XPathNavigator to the next namespace node matching the XPathNamespaceScope specified. (Inherited from XPathNavigator.)
Public methodMoveToParentWhen overridden in a derived class, moves the XPathNavigator to the parent node of the current node. (Inherited from XPathNavigator.)
Public methodMoveToPreviousWhen overridden in a derived class, moves the XPathNavigator to the previous sibling node of the current node. (Inherited from XPathNavigator.)
Public methodMoveToRootMoves the XPathNavigator to the root node that the current node belongs to. (Inherited from XPathNavigator.)
Public methodPrependChild()Returns an XmlWriter object used to create a new child node at the beginning of the list of child nodes of the current node. (Inherited from XPathNavigator.)
Public methodPrependChild(String)Creates a new child node at the beginning of the list of child nodes of the current node using the XML string specified. (Inherited from XPathNavigator.)
Public methodPrependChild(XmlReader)Creates a new child node at the beginning of the list of child nodes of the current node using the XML contents of the XmlReader object specified. (Inherited from XPathNavigator.)
Public methodPrependChild(XPathNavigator)Creates a new child node at the beginning of the list of child nodes of the current node using the nodes in the XPathNavigator object specified. (Inherited from XPathNavigator.)
Public methodPrependChildElementCreates a new child element at the beginning of the list of child nodes of the current node using the namespace prefix, local name, and namespace URI specified with the value specified. (Inherited from XPathNavigator.)
Public methodReadSubtreeReturns an XmlReader object that contains the current node and its child nodes. (Inherited from XPathNavigator.)
Public methodReplaceRangeReplaces a range of sibling nodes from the current node to the node specified. (Inherited from XPathNavigator.)
Public methodReplaceSelf(String)Replaces the current node with the content of the string specified. (Inherited from XPathNavigator.)
Public methodReplaceSelf(XmlReader)Replaces the current node with the contents of the XmlReader object specified. (Inherited from XPathNavigator.)
Public methodReplaceSelf(XPathNavigator)Replaces the current node with the contents of the XPathNavigator object specified. (Inherited from XPathNavigator.)
Public methodSelect(String)Selects a node set, using the specified XPath expression. (Inherited from XPathNavigator.)
Public methodSelect(XPathExpression)Selects a node set using the specified XPathExpression. (Inherited from XPathNavigator.)
Public methodSelect(String, IXmlNamespaceResolver)Selects a node set using the specified XPath expression with the IXmlNamespaceResolver object specified to resolve namespace prefixes. (Inherited from XPathNavigator.)
Public methodSelectAncestors(XPathNodeType, Boolean)Selects all the ancestor nodes of the current node that have a matching XPathNodeType. (Inherited from XPathNavigator.)
Public methodSelectAncestors(String, String, Boolean)Selects all the ancestor nodes of the current node that have the specified local name and namespace URI. (Inherited from XPathNavigator.)
Public methodSelectChildren(XPathNodeType)Selects all the child nodes of the current node that have the matching XPathNodeType. (Inherited from XPathNavigator.)
Public methodSelectChildren(String, String)Selects all the child nodes of the current node that have the local name and namespace URI specified. (Inherited from XPathNavigator.)
Public methodSelectDescendants(XPathNodeType, Boolean)Selects all the descendant nodes of the current node that have a matching XPathNodeType. (Inherited from XPathNavigator.)
Public methodSelectDescendants(String, String, Boolean)Selects all the descendant nodes of the current node with the local name and namespace URI specified. (Inherited from XPathNavigator.)
Public methodSelectSingleNode(String)Selects a single node in the XPathNavigator using the specified XPath query. (Inherited from XPathNavigator.)
Public methodSelectSingleNode(XPathExpression)Selects a single node in the XPathNavigator using the specified XPathExpression object. (Inherited from XPathNavigator.)
Public methodSelectSingleNode(String, IXmlNamespaceResolver)Selects a single node in the XPathNavigator object using the specified XPath query with the IXmlNamespaceResolver object specified to resolve namespace prefixes. (Inherited from XPathNavigator.)
Public methodSetTypedValueSets the typed value of the current node. (Inherited from XPathNavigator.)
Public methodSetValueSets the value of the current node. (Inherited from XPathNavigator.)
Public methodToStringGets the text value of the current node. (Inherited from XPathNavigator.)
Public methodValueAs(Type)Returns the item's value as the specified type. (Inherited from XPathItem.)
Public methodValueAs(Type, IXmlNamespaceResolver)Gets the current node's value as the Type specified, using the IXmlNamespaceResolver object specified to resolve namespace prefixes. (Inherited from XPathNavigator.)
Public methodWriteSubtreeStreams the current node and its child nodes to the XmlWriter object specified. (Inherited from XPathNavigator.)
Top

  NameDescription
Explicit interface implemetationPrivate methodICloneable.CloneCreates a new copy of the XPathNavigator object. (Inherited from XPathNavigator.)
Top

The SOAP messages passed between parts of the Windows Communication Foundation (WCF) system are handled by various components of the system that must inspect these messages to determine what actions to take in processing them. The XPath engine is a component that queries messages for this purpose and it requires a navigator to read SOAP messages and other XML documents. A navigator provides a cursor that moves from node to node tracking where the XML document is actually being read.

The XPath engine works with a SeekableXPathNavigator, which extends the XPathNavigator class by adding a CurrentPosition property. This property allows positions within the XML document to be saved and loaded quickly without having to clone the navigator, an expensive memory allocation that the XPathNavigator requires for such an operation. The XPath engine must frequently record the position of the cursor in the course of executing queries on XML documents, so the SeekableXPathNavigator provides an important optimization for message processing.

Note that the value of the CurrentPosition property is implementation-specific and may not map to node position or character position. Its value is only meaningful to the SeekableXPathNavigator implementation (and instance) that supplied it.

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft