Provides a cursor model for navigating and editing XML data. More...

Inherits System::Xml::XPath::XPathItem, System::Xml::XPath::IXPathNavigable, and System::Xml::IXmlNamespaceResolver.

Public Types

using Ptr = SharedPtr< XPathNavigator >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::XPath::XPathItem
using Ptr = SharedPtr< XPathItem >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Public Member Functions

ASPOSECPP_SHARED_API bool get_IsNode () override
 Returns a value that indicates if the current node represents an XPath node. More...
 
ASPOSECPP_SHARED_API SharedPtr< System::Xml::Schema::XmlSchemaTypeget_XmlType () override
 Returns the XmlSchemaType information for the current node. More...
 
ASPOSECPP_SHARED_API SharedPtr< Objectget_TypedValue () override
 Returns the current node as a boxed object of the most appropriate type. More...
 
ASPOSECPP_SHARED_API TypeInfo get_ValueType () override
 Returns the type of the current node. More...
 
ASPOSECPP_SHARED_API bool get_ValueAsBoolean () override
 Returns the current node's value as a Boolean. More...
 
ASPOSECPP_SHARED_API DateTime get_ValueAsDateTime () override
 Returns the current node's value as a DateTime. More...
 
ASPOSECPP_SHARED_API double get_ValueAsDouble () override
 Returns the current node's value as a Double. More...
 
ASPOSECPP_SHARED_API int32_t get_ValueAsInt () override
 Returns the current node's value as an Int32. More...
 
ASPOSECPP_SHARED_API int64_t get_ValueAsLong () override
 Returns the current node's value as an Int64. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNameTableget_NameTable ()=0
 When overridden in a derived class, gets the XmlNameTable of the XPathNavigator. More...
 
virtual ASPOSECPP_SHARED_API XPathNodeType get_NodeType ()=0
 When overridden in a derived class, gets the XPathNodeType of the current node. More...
 
virtual ASPOSECPP_SHARED_API String get_LocalName ()=0
 When overridden in a derived class, gets the XPathNavigator::get_Name of the current node without any namespace prefix. More...
 
virtual ASPOSECPP_SHARED_API String get_Name ()=0
 When overridden in a derived class, gets the qualified name of the current node. More...
 
virtual ASPOSECPP_SHARED_API String get_NamespaceURI ()=0
 When overridden in a derived class, gets the namespace URI of the current node. More...
 
virtual ASPOSECPP_SHARED_API String get_Prefix ()=0
 When overridden in a derived class, gets the namespace prefix associated with the current node. More...
 
virtual ASPOSECPP_SHARED_API String get_BaseURI ()=0
 When overridden in a derived class, gets the base URI for the current node. More...
 
virtual ASPOSECPP_SHARED_API bool get_IsEmptyElement ()=0
 When overridden in a derived class, gets a value that indicates whether the current node is an empty element without an end element tag. More...
 
virtual ASPOSECPP_SHARED_API String get_XmlLang ()
 Returns the xml:lang scope for the current node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< Objectget_UnderlyingObject ()
 Used by XPathNavigator implementations which provide a "virtualized" XML view over a store, to provide access to underlying objects. More...
 
virtual ASPOSECPP_SHARED_API bool get_HasAttributes ()
 Returns a value that indicates whether the current node has any attributes. More...
 
virtual ASPOSECPP_SHARED_API bool get_HasChildren ()
 Returns a value that indicates whether the current node has any child nodes. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< System::Xml::Schema::IXmlSchemaInfoget_SchemaInfo ()
 Returns the schema information that has been assigned to the current node as a result of schema validation. More...
 
virtual ASPOSECPP_SHARED_API bool get_CanEdit ()
 Returns a value that indicates whether the XPathNavigator can edit the underlying XML data. More...
 
virtual ASPOSECPP_SHARED_API String get_OuterXml ()
 Returns the markup representing the opening and closing tags of the current node and its child nodes. More...
 
virtual ASPOSECPP_SHARED_API void set_OuterXml (String value)
 Sets the markup representing the opening and closing tags of the current node and its child nodes. More...
 
virtual ASPOSECPP_SHARED_API String get_InnerXml ()
 Returns the markup representing the child nodes of the current node. More...
 
virtual ASPOSECPP_SHARED_API void set_InnerXml (String value)
 Sets the markup representing the child nodes of the current node. More...
 
virtual ASPOSECPP_SHARED_API void SetValue (String value)
 Sets the value of the current node. More...
 
virtual ASPOSECPP_SHARED_API void SetTypedValue (SharedPtr< Object > typedValue)
 Sets the typed value of the current node. More...
 
ASPOSECPP_SHARED_API SharedPtr< ObjectValueAs (const TypeInfo &returnType, SharedPtr< IXmlNamespaceResolver > nsResolver) override
 Returns the current node's value as the Type specified, using the IXmlNamespaceResolver object specified to resolve namespace prefixes. More...
 
ASPOSECPP_SHARED_API SharedPtr< XPathNavigatorCreateNavigator () override
 Returns a copy of the XPathNavigator. More...
 
ASPOSECPP_SHARED_API String LookupNamespace (const String &prefix) override
 Returns the namespace URI for the specified prefix. More...
 
ASPOSECPP_SHARED_API String LookupPrefix (const String &namespaceURI) override
 Returns the prefix declared for the specified namespace URI. More...
 
ASPOSECPP_SHARED_API SharedPtr< Collections::Generic::IDictionary< String, String > > GetNamespacesInScope (XmlNamespaceScope scope) override
 Returns the in-scope namespaces of the current node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNavigatorClone ()=0
 When overridden in a derived class, creates a new XPathNavigator positioned at the same node as this XPathNavigator. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlReaderReadSubtree ()
 Returns an XmlReader object that contains the current node and its child nodes. More...
 
virtual ASPOSECPP_SHARED_API void WriteSubtree (SharedPtr< XmlWriter > writer)
 Streams the current node and its child nodes to the XmlWriter object specified. More...
 
virtual ASPOSECPP_SHARED_API String GetAttribute (String localName, String namespaceURI)
 Returns the value of the attribute with the specified local name and namespace URI. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToAttribute (String localName, String namespaceURI)
 Moves the XPathNavigator to the attribute with the matching local name and namespace URI. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFirstAttribute ()=0
 When overridden in a derived class, moves the XPathNavigator to the first attribute of the current node. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToNextAttribute ()=0
 When overridden in a derived class, moves the XPathNavigator to the next attribute. More...
 
virtual ASPOSECPP_SHARED_API String GetNamespace (String name)
 Returns the value of the namespace node corresponding to the specified local name. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToNamespace (String name)
 Moves the XPathNavigator to the namespace node with the specified namespace prefix. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFirstNamespace (XPathNamespaceScope namespaceScope)=0
 When overridden in a derived class, moves the XPathNavigator to the first namespace node that matches the XPathNamespaceScope specified. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToNextNamespace (XPathNamespaceScope namespaceScope)=0
 When overridden in a derived class, moves the XPathNavigator to the next namespace node matching the XPathNamespaceScope specified. More...
 
ASPOSECPP_SHARED_API bool MoveToFirstNamespace ()
 Moves the XPathNavigator to first namespace node of the current node. More...
 
ASPOSECPP_SHARED_API bool MoveToNextNamespace ()
 Moves the XPathNavigator to the next namespace node. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToNext ()=0
 When overridden in a derived class, moves the XPathNavigator to the next sibling node of the current node. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToPrevious ()=0
 When overridden in a derived class, moves the XPathNavigator to the previous sibling node of the current node. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFirst ()
 Moves the XPathNavigator to the first sibling node of the current node. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFirstChild ()=0
 When overridden in a derived class, moves the XPathNavigator to the first child node of the current node. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToParent ()=0
 When overridden in a derived class, moves the XPathNavigator to the parent node of the current node. More...
 
virtual ASPOSECPP_SHARED_API void MoveToRoot ()
 Moves the XPathNavigator to the root node that the current node belongs to. More...
 
virtual ASPOSECPP_SHARED_API bool MoveTo (SharedPtr< XPathNavigator > other)=0
 When overridden in a derived class, moves the XPathNavigator to the same position as the specified XPathNavigator. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToId (String id)=0
 When overridden in a derived class, moves to the node that has an attribute of type ID whose value matches the specified String. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToChild (String localName, String namespaceURI)
 Moves the XPathNavigator to the child node with the local name and namespace URI specified. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToChild (XPathNodeType type)
 Moves the XPathNavigator to the child node of the XPathNodeType specified. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFollowing (String localName, String namespaceURI)
 Moves the XPathNavigator to the element with the local name and namespace URI specified in document order. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFollowing (String localName, String namespaceURI, SharedPtr< XPathNavigator > end)
 Moves the XPathNavigator to the element with the local name and namespace URI specified, to the boundary specified, in document order. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFollowing (XPathNodeType type)
 Moves the XPathNavigator to the following element of the XPathNodeType specified in document order. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToFollowing (XPathNodeType type, SharedPtr< XPathNavigator > end)
 Moves the XPathNavigator to the following element of the XPathNodeType specified, to the boundary specified, in document order. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToNext (String localName, String namespaceURI)
 Moves the XPathNavigator to the next sibling node with the local name and namespace URI specified. More...
 
virtual ASPOSECPP_SHARED_API bool MoveToNext (XPathNodeType type)
 Moves the XPathNavigator to the next sibling node of the current node that matches the XPathNodeType specified. More...
 
virtual ASPOSECPP_SHARED_API bool IsSamePosition (SharedPtr< XPathNavigator > other)=0
 When overridden in a derived class, determines whether the current XPathNavigator is at the same position as the specified XPathNavigator. More...
 
virtual ASPOSECPP_SHARED_API bool IsDescendant (SharedPtr< XPathNavigator > nav)
 Determines whether the specified XPathNavigator is a descendant of the current XPathNavigator. More...
 
virtual ASPOSECPP_SHARED_API XmlNodeOrder ComparePosition (SharedPtr< XPathNavigator > nav)
 Compares the position of the current XPathNavigator with the position of the XPathNavigator specified. More...
 
virtual ASPOSECPP_SHARED_API bool CheckValidity (SharedPtr< System::Xml::Schema::XmlSchemaSet > schemas, System::Xml::Schema::ValidationEventHandler validationEventHandler)
 Verifies that the XML data in the XPathNavigator conforms to the XML Schema definition language (XSD) schema provided. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathExpressionCompile (String xpath)
 Compiles a string representing an XPath expression and returns an XPathExpression object. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNavigatorSelectSingleNode (String xpath)
 Selects a single node in the XPathNavigator using the specified XPath query. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNavigatorSelectSingleNode (String xpath, SharedPtr< IXmlNamespaceResolver > resolver)
 Selects a single node in the XPathNavigator object using the specified XPath query with the IXmlNamespaceResolver object specified to resolve namespace prefixes. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNavigatorSelectSingleNode (SharedPtr< XPathExpression > expression)
 Selects a single node in the XPathNavigator using the specified XPathExpression object. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelect (String xpath)
 Selects a node set, using the specified XPath expression. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelect (String xpath, SharedPtr< IXmlNamespaceResolver > resolver)
 Selects a node set using the specified XPath expression with the IXmlNamespaceResolver object specified to resolve namespace prefixes. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelect (SharedPtr< XPathExpression > expr)
 Selects a node set using the specified XPathExpression. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< ObjectEvaluate (String xpath)
 Evaluates the specified XPath expression and returns the typed result. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< ObjectEvaluate (String xpath, SharedPtr< IXmlNamespaceResolver > resolver)
 Evaluates the specified XPath expression and returns the typed result, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< ObjectEvaluate (SharedPtr< XPathExpression > expr)
 Evaluates the XPathExpression and returns the typed result. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< ObjectEvaluate (SharedPtr< XPathExpression > expr, SharedPtr< XPathNodeIterator > context)
 Uses the supplied context to evaluate the XPathExpression, and returns the typed result. More...
 
virtual ASPOSECPP_SHARED_API bool Matches (SharedPtr< XPathExpression > expr)
 Determines whether the current node matches the specified XPathExpression. More...
 
virtual ASPOSECPP_SHARED_API bool Matches (String xpath)
 Determines whether the current node matches the specified XPath expression. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelectChildren (XPathNodeType type)
 Selects all the child nodes of the current node that have the matching XPathNodeType. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelectChildren (String name, String namespaceURI)
 Selects all the child nodes of the current node that have the local name and namespace URI specified. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelectAncestors (XPathNodeType type, bool matchSelf)
 Selects all the ancestor nodes of the current node that have a matching XPathNodeType. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelectAncestors (String name, String namespaceURI, bool matchSelf)
 Selects all the ancestor nodes of the current node that have the specified local name and namespace URI. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelectDescendants (XPathNodeType type, bool matchSelf)
 Selects all the descendant nodes of the current node that have a matching XPathNodeType. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XPathNodeIteratorSelectDescendants (String name, String namespaceURI, bool matchSelf)
 Selects all the descendant nodes of the current node with the local name and namespace URI specified. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterPrependChild ()
 Returns an XmlWriter object used to create a new child node at the beginning of the list of child nodes of the current node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterAppendChild ()
 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. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterInsertAfter ()
 Returns an XmlWriter object used to create a new sibling node after the currently selected node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterInsertBefore ()
 Returns an XmlWriter object used to create a new sibling node before the currently selected node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreateAttributes ()
 Returns an XmlWriter object used to create new attributes on the current element. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterReplaceRange (SharedPtr< XPathNavigator > lastSiblingToReplace)
 Replaces a range of sibling nodes from the current node to the node specified. More...
 
virtual ASPOSECPP_SHARED_API void ReplaceSelf (String newNode)
 Replaces the current node with the content of the string specified. More...
 
virtual ASPOSECPP_SHARED_API void ReplaceSelf (SharedPtr< XmlReader > newNode)
 Replaces the current node with the contents of the XmlReader object specified. More...
 
virtual ASPOSECPP_SHARED_API void ReplaceSelf (SharedPtr< XPathNavigator > newNode)
 Replaces the current node with the contents of the XPathNavigator object specified. More...
 
virtual ASPOSECPP_SHARED_API void AppendChild (String newChild)
 Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified. More...
 
virtual ASPOSECPP_SHARED_API void AppendChild (SharedPtr< XmlReader > newChild)
 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. More...
 
virtual ASPOSECPP_SHARED_API void AppendChild (SharedPtr< XPathNavigator > newChild)
 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. More...
 
virtual ASPOSECPP_SHARED_API void PrependChild (String newChild)
 Creates a new child node at the beginning of the list of child nodes of the current node using the XML string specified. More...
 
virtual ASPOSECPP_SHARED_API void PrependChild (SharedPtr< XmlReader > newChild)
 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. More...
 
virtual ASPOSECPP_SHARED_API void PrependChild (SharedPtr< XPathNavigator > newChild)
 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. More...
 
virtual ASPOSECPP_SHARED_API void InsertBefore (String newSibling)
 Creates a new sibling node before the currently selected node using the XML string specified. More...
 
virtual ASPOSECPP_SHARED_API void InsertBefore (SharedPtr< XmlReader > newSibling)
 Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified. More...
 
virtual ASPOSECPP_SHARED_API void InsertBefore (SharedPtr< XPathNavigator > newSibling)
 Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified. More...
 
virtual ASPOSECPP_SHARED_API void InsertAfter (String newSibling)
 Creates a new sibling node after the currently selected node using the XML string specified. More...
 
virtual ASPOSECPP_SHARED_API void InsertAfter (SharedPtr< XmlReader > newSibling)
 Creates a new sibling node after the currently selected node using the XML contents of the XmlReader object specified. More...
 
virtual ASPOSECPP_SHARED_API void InsertAfter (SharedPtr< XPathNavigator > newSibling)
 Creates a new sibling node after the currently selected node using the nodes in the XPathNavigator object specified. More...
 
virtual ASPOSECPP_SHARED_API void DeleteRange (SharedPtr< XPathNavigator > lastSiblingToDelete)
 Deletes a range of sibling nodes from the current node to the node specified. More...
 
virtual ASPOSECPP_SHARED_API void DeleteSelf ()
 Deletes the current node and its child nodes. More...
 
virtual ASPOSECPP_SHARED_API void PrependChildElement (String prefix, String localName, String namespaceURI, String value)
 Creates 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. More...
 
virtual ASPOSECPP_SHARED_API void AppendChildElement (String prefix, String localName, String namespaceURI, String value)
 Creates 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. More...
 
virtual ASPOSECPP_SHARED_API void InsertElementBefore (String prefix, String localName, String namespaceURI, String value)
 Creates a new sibling element before the current node using the namespace prefix, local name, and namespace URI specified, with the value specified. More...
 
virtual ASPOSECPP_SHARED_API void InsertElementAfter (String prefix, String localName, String namespaceURI, String value)
 Creates a new sibling element after the current node using the namespace prefix, local name and namespace URI specified, with the value specified. More...
 
virtual ASPOSECPP_SHARED_API void CreateAttribute (String prefix, String localName, String namespaceURI, String value)
 Creates an attribute node on the current element node using the namespace prefix, local name and namespace URI specified with the value specified. More...
 
ASPOSECPP_SHARED_API String ToString () const override
 Returns the text value of the current node. More...
 
- Public Member Functions inherited from System::Xml::XPath::XPathItem
virtual ASPOSECPP_SHARED_API String get_Value ()=0
 When overridden in a derived class, gets the string value of the item. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< ObjectValueAs (const TypeInfo &returnType)
 Returns the item's value as the specified type. More...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Static Public Member Functions

static ASPOSECPP_SHARED_API SharedPtr< Collections::Generic::IEqualityComparer< SharedPtr< XPathNavigator > > > get_NavigatorComparer ()
 Returns an Collections::IEqualityComparer used for equality comparison of XPathNavigator objects. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 

Protected Member Functions

virtual ASPOSECPP_SHARED_API ~XPathNavigator ()
 

Detailed Description

Provides a cursor model for navigating and editing XML data.

Member Typedef Documentation

◆ Ptr

An alias for shared pointer to an instance of this class.

Constructor & Destructor Documentation

◆ ~XPathNavigator()

virtual ASPOSECPP_SHARED_API System::Xml::XPath::XPathNavigator::~XPathNavigator ( )
protectedvirtual

Member Function Documentation

◆ AppendChild() [1/4]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlWriter> System::Xml::XPath::XPathNavigator::AppendChild ( )
virtual

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.

Returns
An XmlWriter object used to create new child nodes at the end of the list of child nodes of the current node.
Exceptions
InvalidOperationExceptionThe current node the XPathNavigator is positioned on is not the root node or an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ AppendChild() [2/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::AppendChild ( String  newChild)
virtual

Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified.

Parameters
newChildThe XML data string for the new child node.
Exceptions
ArgumentNullExceptionThe XML data string parameter is nullptr.
InvalidOperationExceptionThe current node the XPathNavigator is positioned on is not the root node or an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML data string parameter is not well-formed.

◆ AppendChild() [3/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::AppendChild ( SharedPtr< XmlReader newChild)
virtual

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.

Parameters
newChildAn XmlReader object positioned on the XML data for the new child node.
Exceptions
ArgumentExceptionThe XmlReader object is in an error state or closed.
ArgumentNullExceptionThe XmlReader object parameter is nullptr.
InvalidOperationExceptionThe current node the XPathNavigator is positioned on is not the root node or an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML contents of the XmlReader object parameter is not well-formed.

◆ AppendChild() [4/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::AppendChild ( SharedPtr< XPathNavigator newChild)
virtual

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.

Parameters
newChildAn XPathNavigator object positioned on the node to add as the new child node.
Exceptions
ArgumentNullExceptionThe XPathNavigator object parameter is nullptr.
InvalidOperationExceptionThe current node the XPathNavigator is positioned on is not the root node or an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ AppendChildElement()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::AppendChildElement ( String  prefix,
String  localName,
String  namespaceURI,
String  value 
)
virtual

Creates 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.

Parameters
prefixThe namespace prefix of the new child element node (if any).
localNameThe local name of the new child element node (if any).
namespaceURIThe namespace URI of the new child element node (if any). String::Empty and nullptr are equivalent.
valueThe value of the new child element node. If String::Empty or nullptr are passed, an empty element is created.
Exceptions
InvalidOperationExceptionThe current node the XPathNavigator is positioned on is not the root node or an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ CheckValidity()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::CheckValidity ( SharedPtr< System::Xml::Schema::XmlSchemaSet schemas,
System::Xml::Schema::ValidationEventHandler  validationEventHandler 
)
virtual

Verifies that the XML data in the XPathNavigator conforms to the XML Schema definition language (XSD) schema provided.

Parameters
schemasThe XmlSchemaSet containing the schemas used to validate the XML data contained in the XPathNavigator.
validationEventHandlerThe ValidationEventHandler that receives information about schema validation warnings and errors.
Returns
true if no schema validation errors occurred; otherwise, false.
Exceptions
XmlSchemaValidationExceptionA schema validation error occurred, and no ValidationEventHandler was specified to handle validation errors.
InvalidOperationExceptionThe XPathNavigator is positioned on a node that is not an element, attribute, or the root node or there is not type information to perform validation.
ArgumentExceptionThe method was called with an XmlSchemaSet parameter when the XPathNavigator was not positioned on the root node of the XML data.

◆ Clone()

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNavigator> System::Xml::XPath::XPathNavigator::Clone ( )
pure virtual

When overridden in a derived class, creates a new XPathNavigator positioned at the same node as this XPathNavigator.

Returns
A new XPathNavigator positioned at the same node as this XPathNavigator.

◆ ComparePosition()

virtual ASPOSECPP_SHARED_API XmlNodeOrder System::Xml::XPath::XPathNavigator::ComparePosition ( SharedPtr< XPathNavigator nav)
virtual

Compares the position of the current XPathNavigator with the position of the XPathNavigator specified.

Parameters
navThe XPathNavigator to compare against.
Returns
An XmlNodeOrder value representing the comparative position of the two XPathNavigator objects.

◆ Compile()

virtual ASPOSECPP_SHARED_API SharedPtr<XPathExpression> System::Xml::XPath::XPathNavigator::Compile ( String  xpath)
virtual

Compiles a string representing an XPath expression and returns an XPathExpression object.

Parameters
xpathA string representing an XPath expression.
Returns
An XPathExpression object representing the XPath expression.
Exceptions
ArgumentExceptionThe xpath parameter contains an XPath expression that is not valid.
XPathExceptionThe XPath expression is not valid.

◆ CreateAttribute()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::CreateAttribute ( String  prefix,
String  localName,
String  namespaceURI,
String  value 
)
virtual

Creates an attribute node on the current element node using the namespace prefix, local name and namespace URI specified with the value specified.

Parameters
prefixThe namespace prefix of the new attribute node (if any).
localNameThe local name of the new attribute node which cannot String::Empty or nullptr.
namespaceURIThe namespace URI for the new attribute node (if any).
valueThe value of the new attribute node. If String::Empty or nullptr are passed, an empty attribute node is created.
Exceptions
InvalidOperationExceptionThe XPathNavigator is not positioned on an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ CreateAttributes()

virtual ASPOSECPP_SHARED_API SharedPtr<XmlWriter> System::Xml::XPath::XPathNavigator::CreateAttributes ( )
virtual

Returns an XmlWriter object used to create new attributes on the current element.

Returns
An XmlWriter object used to create new attributes on the current element.
Exceptions
InvalidOperationExceptionThe XPathNavigator is not positioned on an element node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ CreateNavigator()

ASPOSECPP_SHARED_API SharedPtr<XPathNavigator> System::Xml::XPath::XPathNavigator::CreateNavigator ( )
overridevirtual

Returns a copy of the XPathNavigator.

Returns
An XPathNavigator copy of this XPathNavigator.

Implements System::Xml::XPath::IXPathNavigable.

◆ DeleteRange()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::DeleteRange ( SharedPtr< XPathNavigator lastSiblingToDelete)
virtual

Deletes a range of sibling nodes from the current node to the node specified.

Parameters
lastSiblingToDeleteAn XPathNavigator positioned on the last sibling node in the range to delete.
Exceptions
ArgumentNullExceptionThe XPathNavigator specified is nullptr.
NotSupportedExceptionThe XPathNavigator does not support editing.
InvalidOperationExceptionThe last node to delete specified is not a valid sibling node of the current node.

◆ DeleteSelf()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::DeleteSelf ( )
virtual

Deletes the current node and its child nodes.

Exceptions
InvalidOperationExceptionThe XPathNavigator is positioned on a node that cannot be deleted such as the root node or a namespace node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ Evaluate() [1/4]

virtual ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::Evaluate ( String  xpath)
virtual

Evaluates the specified XPath expression and returns the typed result.

Parameters
xpathA string representing an XPath expression that can be evaluated.
Returns
The result of the expression (Boolean, number, string, or node set). This maps to Boolean, Double, String, or XPathNodeIterator objects respectively.
Exceptions
ArgumentExceptionThe return type of the XPath expression is a node set.
XPathExceptionThe XPath expression is not valid.

◆ Evaluate() [2/4]

virtual ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::Evaluate ( String  xpath,
SharedPtr< IXmlNamespaceResolver resolver 
)
virtual

Evaluates the specified XPath expression and returns the typed result, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

Parameters
xpathA string representing an XPath expression that can be evaluated.
resolverThe IXmlNamespaceResolver object used to resolve namespace prefixes in the XPath expression.
Returns
The result of the expression (Boolean, number, string, or node set). This maps to Boolean, Double, String, or XPathNodeIterator objects respectively.
Exceptions
ArgumentExceptionThe return type of the XPath expression is a node set.
XPathExceptionThe XPath expression is not valid.

◆ Evaluate() [3/4]

virtual ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::Evaluate ( SharedPtr< XPathExpression expr)
virtual

Evaluates the XPathExpression and returns the typed result.

Parameters
exprAn XPathExpression that can be evaluated.
Returns
The result of the expression (Boolean, number, string, or node set). This maps to Boolean, Double, String, or XPathNodeIterator objects respectively.
Exceptions
ArgumentExceptionThe return type of the XPath expression is a node set.
XPathExceptionThe XPath expression is not valid.

◆ Evaluate() [4/4]

virtual ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::Evaluate ( SharedPtr< XPathExpression expr,
SharedPtr< XPathNodeIterator context 
)
virtual

Uses the supplied context to evaluate the XPathExpression, and returns the typed result.

Parameters
exprAn XPathExpression that can be evaluated.
contextAn XPathNodeIterator that points to the selected node set that the evaluation is to be performed on.
Returns
The result of the expression (Boolean, number, string, or node set). This maps to Boolean, Double, String, or XPathNodeIterator objects respectively.
Exceptions
ArgumentExceptionThe return type of the XPath expression is a node set.
XPathExceptionThe XPath expression is not valid.

◆ get_BaseURI()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_BaseURI ( )
pure virtual

When overridden in a derived class, gets the base URI for the current node.

Returns
The location from which the node was loaded, or String::Empty if there is no value.

◆ get_CanEdit()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_CanEdit ( )
virtual

Returns a value that indicates whether the XPathNavigator can edit the underlying XML data.

Returns
true if the XPathNavigator can edit the underlying XML data; otherwise, false.

◆ get_HasAttributes()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_HasAttributes ( )
virtual

Returns a value that indicates whether the current node has any attributes.

Returns
true if the current node has attributes; returns false if the current node has no attributes, or if the XPathNavigator is not positioned on an element node.

◆ get_HasChildren()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_HasChildren ( )
virtual

Returns a value that indicates whether the current node has any child nodes.

Returns
true if the current node has any child nodes; otherwise, false.

◆ get_InnerXml()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_InnerXml ( )
virtual

Returns the markup representing the child nodes of the current node.

Returns
A String that contains the markup of the child nodes of the current node.

◆ get_IsEmptyElement()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_IsEmptyElement ( )
pure virtual

When overridden in a derived class, gets a value that indicates whether the current node is an empty element without an end element tag.

Returns
true if the current node is an empty element; otherwise, false.

◆ get_IsNode()

ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_IsNode ( )
overridevirtual

Returns a value that indicates if the current node represents an XPath node.

Returns
Always returns true.

Implements System::Xml::XPath::XPathItem.

◆ get_LocalName()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_LocalName ( )
pure virtual

When overridden in a derived class, gets the XPathNavigator::get_Name of the current node without any namespace prefix.

Returns
A String that contains the local name of the current node, or String::Empty if the current node does not have a name (for example, text or comment nodes).

◆ get_Name()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_Name ( )
pure virtual

When overridden in a derived class, gets the qualified name of the current node.

Returns
A String that contains the qualified XPathNavigator::get_Name of the current node, or String::Empty if the current node does not have a name (for example, text or comment nodes).

◆ get_NamespaceURI()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_NamespaceURI ( )
pure virtual

When overridden in a derived class, gets the namespace URI of the current node.

Returns
A String that contains the namespace URI of the current node, or String::Empty if the current node has no namespace URI.

◆ get_NameTable()

virtual ASPOSECPP_SHARED_API SharedPtr<XmlNameTable> System::Xml::XPath::XPathNavigator::get_NameTable ( )
pure virtual

When overridden in a derived class, gets the XmlNameTable of the XPathNavigator.

Returns
An XmlNameTable object enabling you to get the atomized version of a String within the XML document.

◆ get_NavigatorComparer()

static ASPOSECPP_SHARED_API SharedPtr<Collections::Generic::IEqualityComparer<SharedPtr<XPathNavigator> > > System::Xml::XPath::XPathNavigator::get_NavigatorComparer ( )
static

Returns an Collections::IEqualityComparer used for equality comparison of XPathNavigator objects.

Returns
An Collections::IEqualityComparer used for equality comparison of XPathNavigator objects.

◆ get_NodeType()

virtual ASPOSECPP_SHARED_API XPathNodeType System::Xml::XPath::XPathNavigator::get_NodeType ( )
pure virtual

When overridden in a derived class, gets the XPathNodeType of the current node.

Returns
One of the XPathNodeType values representing the current node.

◆ get_OuterXml()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_OuterXml ( )
virtual

Returns the markup representing the opening and closing tags of the current node and its child nodes.

Returns
A String that contains the markup representing the opening and closing tags of the current node and its child nodes.

◆ get_Prefix()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_Prefix ( )
pure virtual

When overridden in a derived class, gets the namespace prefix associated with the current node.

Returns
A String that contains the namespace prefix associated with the current node.

◆ get_SchemaInfo()

virtual ASPOSECPP_SHARED_API SharedPtr<System::Xml::Schema::IXmlSchemaInfo> System::Xml::XPath::XPathNavigator::get_SchemaInfo ( )
virtual

Returns the schema information that has been assigned to the current node as a result of schema validation.

Returns
An IXmlSchemaInfo object that contains the schema information for the current node.

◆ get_TypedValue()

ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::get_TypedValue ( )
overridevirtual

Returns the current node as a boxed object of the most appropriate type.

Returns
The current node as a boxed object of the most appropriate type.

Implements System::Xml::XPath::XPathItem.

◆ get_UnderlyingObject()

virtual ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::get_UnderlyingObject ( )
virtual

Used by XPathNavigator implementations which provide a "virtualized" XML view over a store, to provide access to underlying objects.

Returns
The default is nullptr.

◆ get_ValueAsBoolean()

ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_ValueAsBoolean ( )
overridevirtual

Returns the current node's value as a Boolean.

Returns
The current node's value as a Boolean.
Exceptions
FormatExceptionThe current node's string value cannot be converted to a Boolean.
InvalidCastExceptionThe attempted cast to Boolean is not valid.

Implements System::Xml::XPath::XPathItem.

◆ get_ValueAsDateTime()

ASPOSECPP_SHARED_API DateTime System::Xml::XPath::XPathNavigator::get_ValueAsDateTime ( )
overridevirtual

Returns the current node's value as a DateTime.

Returns
The current node's value as a DateTime.
Exceptions
FormatExceptionThe current node's string value cannot be converted to a DateTime.
InvalidCastExceptionThe attempted cast to DateTime is not valid.

Implements System::Xml::XPath::XPathItem.

◆ get_ValueAsDouble()

ASPOSECPP_SHARED_API double System::Xml::XPath::XPathNavigator::get_ValueAsDouble ( )
overridevirtual

Returns the current node's value as a Double.

Returns
The current node's value as a Double.
Exceptions
FormatExceptionThe current node's string value cannot be converted to a Double.
InvalidCastExceptionThe attempted cast to Double is not valid.

Implements System::Xml::XPath::XPathItem.

◆ get_ValueAsInt()

ASPOSECPP_SHARED_API int32_t System::Xml::XPath::XPathNavigator::get_ValueAsInt ( )
overridevirtual

Returns the current node's value as an Int32.

Returns
The current node's value as an Int32.
Exceptions
FormatExceptionThe current node's string value cannot be converted to a Int32.
InvalidCastExceptionThe attempted cast to Int32 is not valid.

Implements System::Xml::XPath::XPathItem.

◆ get_ValueAsLong()

ASPOSECPP_SHARED_API int64_t System::Xml::XPath::XPathNavigator::get_ValueAsLong ( )
overridevirtual

Returns the current node's value as an Int64.

Returns
The current node's value as an Int64.
Exceptions
FormatExceptionThe current node's string value cannot be converted to a Int64.
InvalidCastExceptionThe attempted cast to Int64 is not valid.

Implements System::Xml::XPath::XPathItem.

◆ get_ValueType()

ASPOSECPP_SHARED_API TypeInfo System::Xml::XPath::XPathNavigator::get_ValueType ( )
overridevirtual

Returns the type of the current node.

Returns
The type of the current node. The default value is String.

Implements System::Xml::XPath::XPathItem.

◆ get_XmlLang()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_XmlLang ( )
virtual

Returns the xml:lang scope for the current node.

Returns
A String that contains the value of the xml:lang scope, or String::Empty if the current node has no xml:lang scope value to return.

◆ get_XmlType()

ASPOSECPP_SHARED_API SharedPtr<System::Xml::Schema::XmlSchemaType> System::Xml::XPath::XPathNavigator::get_XmlType ( )
overridevirtual

Returns the XmlSchemaType information for the current node.

Returns
An XmlSchemaType object; default is nullptr.

Implements System::Xml::XPath::XPathItem.

◆ GetAttribute()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::GetAttribute ( String  localName,
String  namespaceURI 
)
virtual

Returns the value of the attribute with the specified local name and namespace URI.

Parameters
localNameThe local name of the attribute. localName is case-sensitive.
namespaceURIThe namespace URI of the attribute.
Returns
A String that contains the value of the specified attribute; String::Empty if a matching attribute is not found, or if the XPathNavigator is not positioned on an element node.

◆ GetNamespace()

virtual ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::GetNamespace ( String  name)
virtual

Returns the value of the namespace node corresponding to the specified local name.

Parameters
nameThe local name of the namespace node.
Returns
A String that contains the value of the namespace node; String::Empty if a matching namespace node is not found, or if the XPathNavigator is not positioned on an element node.

◆ GetNamespacesInScope()

ASPOSECPP_SHARED_API SharedPtr<Collections::Generic::IDictionary<String, String> > System::Xml::XPath::XPathNavigator::GetNamespacesInScope ( XmlNamespaceScope  scope)
overridevirtual

Returns the in-scope namespaces of the current node.

Parameters
scopeAn XmlNamespaceScope value specifying the namespaces to return.
Returns
An IDictionary collection of namespace names keyed by prefix.

Implements System::Xml::IXmlNamespaceResolver.

◆ InsertAfter() [1/4]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlWriter> System::Xml::XPath::XPathNavigator::InsertAfter ( )
virtual

Returns an XmlWriter object used to create a new sibling node after the currently selected node.

Returns
An XmlWriter object used to create a new sibling node after the currently selected node.
Exceptions
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ InsertAfter() [2/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertAfter ( String  newSibling)
virtual

Creates a new sibling node after the currently selected node using the XML string specified.

Parameters
newSiblingThe XML data string for the new sibling node.
Exceptions
ArgumentNullExceptionThe XML string parameter is nullptr.
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML string parameter is not well-formed.

◆ InsertAfter() [3/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertAfter ( SharedPtr< XmlReader newSibling)
virtual

Creates a new sibling node after the currently selected node using the XML contents of the XmlReader object specified.

Parameters
newSiblingAn XmlReader object positioned on the XML data for the new sibling node.
Exceptions
ArgumentExceptionThe XmlReader object is in an error state or closed.
ArgumentNullExceptionThe XmlReader object parameter is nullptr.
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML contents of the XmlReader object parameter is not well-formed.

◆ InsertAfter() [4/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertAfter ( SharedPtr< XPathNavigator newSibling)
virtual

Creates a new sibling node after the currently selected node using the nodes in the XPathNavigator object specified.

Parameters
newSiblingAn XPathNavigator object positioned on the node to add as the new sibling node.
Exceptions
ArgumentNullExceptionThe XPathNavigator object parameter is nullptr.
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ InsertBefore() [1/4]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlWriter> System::Xml::XPath::XPathNavigator::InsertBefore ( )
virtual

Returns an XmlWriter object used to create a new sibling node before the currently selected node.

Returns
An XmlWriter object used to create a new sibling node before the currently selected node.
Exceptions
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ InsertBefore() [2/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertBefore ( String  newSibling)
virtual

Creates a new sibling node before the currently selected node using the XML string specified.

Parameters
newSiblingThe XML data string for the new sibling node.
Exceptions
ArgumentNullExceptionThe XML string parameter is nullptr.
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML string parameter is not well-formed.

◆ InsertBefore() [3/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertBefore ( SharedPtr< XmlReader newSibling)
virtual

Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified.

Parameters
newSiblingAn XmlReader object positioned on the XML data for the new sibling node.
Exceptions
ArgumentExceptionThe XmlReader object is in an error state or closed.
ArgumentNullExceptionThe XmlReader object parameter is nullptr.
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML contents of the XmlReader object parameter is not well-formed.

◆ InsertBefore() [4/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertBefore ( SharedPtr< XPathNavigator newSibling)
virtual

Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified.

Parameters
newSiblingAn XPathNavigator object positioned on the node to add as the new sibling node.
Exceptions
ArgumentNullExceptionThe XPathNavigator object parameter is nullptr.
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ InsertElementAfter()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertElementAfter ( String  prefix,
String  localName,
String  namespaceURI,
String  value 
)
virtual

Creates a new sibling element after the current node using the namespace prefix, local name and namespace URI specified, with the value specified.

Parameters
prefixThe namespace prefix of the new child element (if any).
localNameThe local name of the new child element (if any).
namespaceURIThe namespace URI of the new child element (if any). String::Empty and nullptr are equivalent.
valueThe value of the new child element. If String::Empty or nullptr are passed, an empty element is created.
Exceptions
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ InsertElementBefore()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::InsertElementBefore ( String  prefix,
String  localName,
String  namespaceURI,
String  value 
)
virtual

Creates a new sibling element before the current node using the namespace prefix, local name, and namespace URI specified, with the value specified.

Parameters
prefixThe namespace prefix of the new child element (if any).
localNameThe local name of the new child element (if any).
namespaceURIThe namespace URI of the new child element (if any). String::Empty and nullptr are equivalent.
valueThe value of the new child element. If String::Empty or nullptr are passed, an empty element is created.
Exceptions
InvalidOperationExceptionThe position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ IsDescendant()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::IsDescendant ( SharedPtr< XPathNavigator nav)
virtual

Determines whether the specified XPathNavigator is a descendant of the current XPathNavigator.

Parameters
navThe XPathNavigator to compare to this XPathNavigator.
Returns
true if the specified XPathNavigator is a descendant of the current XPathNavigator; otherwise, false.

◆ IsSamePosition()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::IsSamePosition ( SharedPtr< XPathNavigator other)
pure virtual

When overridden in a derived class, determines whether the current XPathNavigator is at the same position as the specified XPathNavigator.

Parameters
otherThe XPathNavigator to compare to this XPathNavigator.
Returns
true if the two XPathNavigator objects have the same position; otherwise, false.

◆ LookupNamespace()

ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::LookupNamespace ( const String prefix)
overridevirtual

Returns the namespace URI for the specified prefix.

Parameters
prefixThe prefix whose namespace URI you want to resolve. To match the default namespace, pass String::Empty.
Returns
A String that contains the namespace URI assigned to the namespace prefix specified; nullptr if no namespace URI is assigned to the prefix specified. The String returned is atomized.

Implements System::Xml::IXmlNamespaceResolver.

◆ LookupPrefix()

ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::LookupPrefix ( const String namespaceURI)
overridevirtual

Returns the prefix declared for the specified namespace URI.

Parameters
namespaceURIThe namespace URI to resolve for the prefix.
Returns
A String that contains the namespace prefix assigned to the namespace URI specified; otherwise, String::Empty if no prefix is assigned to the namespace URI specified. The String returned is atomized.

Implements System::Xml::IXmlNamespaceResolver.

◆ Matches() [1/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::Matches ( SharedPtr< XPathExpression expr)
virtual

Determines whether the current node matches the specified XPathExpression.

Parameters
exprAn XPathExpression object containing the compiled XPath expression.
Returns
true if the current node matches the XPathExpression; otherwise, false.
Exceptions
ArgumentExceptionThe XPath expression cannot be evaluated.
XPathExceptionThe XPath expression is not valid.

◆ Matches() [2/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::Matches ( String  xpath)
virtual

Determines whether the current node matches the specified XPath expression.

Parameters
xpathThe XPath expression.
Returns
true if the current node matches the specified XPath expression; otherwise, false.
Exceptions
ArgumentExceptionThe XPath expression cannot be evaluated.
XPathExceptionThe XPath expression is not valid.

◆ MoveTo()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveTo ( SharedPtr< XPathNavigator other)
pure virtual

When overridden in a derived class, moves the XPathNavigator to the same position as the specified XPathNavigator.

Parameters
otherThe XPathNavigator positioned on the node that you want to move to.
Returns
true if the XPathNavigator is successful moving to the same position as the specified XPathNavigator; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToAttribute()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToAttribute ( String  localName,
String  namespaceURI 
)
virtual

Moves the XPathNavigator to the attribute with the matching local name and namespace URI.

Parameters
localNameThe local name of the attribute.
namespaceURIThe namespace URI of the attribute; nullptr for an empty namespace.
Returns
true if the XPathNavigator is successful moving to the attribute; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToChild() [1/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToChild ( String  localName,
String  namespaceURI 
)
virtual

Moves the XPathNavigator to the child node with the local name and namespace URI specified.

Parameters
localNameThe local name of the child node to move to.
namespaceURIThe namespace URI of the child node to move to.
Returns
true if the XPathNavigator is successful moving to the child node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToChild() [2/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToChild ( XPathNodeType  type)
virtual

Moves the XPathNavigator to the child node of the XPathNodeType specified.

Parameters
typeThe XPathNodeType of the child node to move to.
Returns
true if the XPathNavigator is successful moving to the child node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToFirst()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirst ( )
virtual

Moves the XPathNavigator to the first sibling node of the current node.

Returns
true if the XPathNavigator is successful moving to the first sibling node of the current node; false if there is no first sibling, or if the XPathNavigator is currently positioned on an attribute node. If the XPathNavigator is already positioned on the first sibling, XPathNavigator will return true and will not move its position. If XPathNavigator::MoveToFirst returns false because there is no first sibling, or if XPathNavigator is currently positioned on an attribute, the position of the XPathNavigator is unchanged.

◆ MoveToFirstAttribute()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirstAttribute ( )
pure virtual

When overridden in a derived class, moves the XPathNavigator to the first attribute of the current node.

Returns
true if the XPathNavigator is successful moving to the first attribute of the current node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToFirstChild()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirstChild ( )
pure virtual

When overridden in a derived class, moves the XPathNavigator to the first child node of the current node.

Returns
true if the XPathNavigator is successful moving to the first child node of the current node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToFirstNamespace() [1/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirstNamespace ( XPathNamespaceScope  namespaceScope)
pure virtual

When overridden in a derived class, moves the XPathNavigator to the first namespace node that matches the XPathNamespaceScope specified.

Parameters
namespaceScopeAn XPathNamespaceScope value describing the namespace scope.
Returns
true if the XPathNavigator is successful moving to the first namespace node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToFirstNamespace() [2/2]

ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirstNamespace ( )

Moves the XPathNavigator to first namespace node of the current node.

Returns
true if the XPathNavigator is successful moving to the first namespace node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToFollowing() [1/4]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFollowing ( String  localName,
String  namespaceURI 
)
virtual

Moves the XPathNavigator to the element with the local name and namespace URI specified in document order.

Parameters
localNameThe local name of the element.
namespaceURIThe namespace URI of the element.
Returns
true if the XPathNavigator moved successfully; otherwise, false.

◆ MoveToFollowing() [2/4]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFollowing ( String  localName,
String  namespaceURI,
SharedPtr< XPathNavigator end 
)
virtual

Moves the XPathNavigator to the element with the local name and namespace URI specified, to the boundary specified, in document order.

Parameters
localNameThe local name of the element.
namespaceURIThe namespace URI of the element.
endThe XPathNavigator object positioned on the element boundary which the current XPathNavigator will not move past while searching for the following element.
Returns
true if the XPathNavigator moved successfully; otherwise, false.

◆ MoveToFollowing() [3/4]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFollowing ( XPathNodeType  type)
virtual

Moves the XPathNavigator to the following element of the XPathNodeType specified in document order.

Parameters
typeThe XPathNodeType of the element. The XPathNodeType cannot be XPathNodeType::Attribute or XPathNodeType::Namespace.
Returns
true if the XPathNavigator moved successfully; otherwise, false.

◆ MoveToFollowing() [4/4]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFollowing ( XPathNodeType  type,
SharedPtr< XPathNavigator end 
)
virtual

Moves the XPathNavigator to the following element of the XPathNodeType specified, to the boundary specified, in document order.

Parameters
typeThe XPathNodeType of the element. The XPathNodeType cannot be XPathNodeType::Attribute or XPathNodeType::Namespace.
endThe XPathNavigator object positioned on the element boundary which the current XPathNavigator will not move past while searching for the following element.
Returns
true if the XPathNavigator moved successfully; otherwise, false.

◆ MoveToId()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToId ( String  id)
pure virtual

When overridden in a derived class, moves to the node that has an attribute of type ID whose value matches the specified String.

Parameters
idA String representing the ID value of the node to which you want to move.
Returns
true if the XPathNavigator is successful moving; otherwise, false. If false, the position of the navigator is unchanged.

◆ MoveToNamespace()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNamespace ( String  name)
virtual

Moves the XPathNavigator to the namespace node with the specified namespace prefix.

Parameters
nameThe namespace prefix of the namespace node.
Returns
true if the XPathNavigator is successful moving to the specified namespace; false if a matching namespace node was not found, or if the XPathNavigator is not positioned on an element node. If false, the position of the XPathNavigator is unchanged.

◆ MoveToNext() [1/3]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNext ( )
pure virtual

When overridden in a derived class, moves the XPathNavigator to the next sibling node of the current node.

Returns
true if the XPathNavigator is successful moving to the next sibling node; otherwise false if there are no more siblings or if the XPathNavigator is currently positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.

◆ MoveToNext() [2/3]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNext ( String  localName,
String  namespaceURI 
)
virtual

Moves the XPathNavigator to the next sibling node with the local name and namespace URI specified.

Parameters
localNameThe local name of the next sibling node to move to.
namespaceURIThe namespace URI of the next sibling node to move to.
Returns
true if the XPathNavigator is successful moving to the next sibling node; false if there are no more siblings, or if the XPathNavigator is currently positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.

◆ MoveToNext() [3/3]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNext ( XPathNodeType  type)
virtual

Moves the XPathNavigator to the next sibling node of the current node that matches the XPathNodeType specified.

Parameters
typeThe XPathNodeType of the sibling node to move to.
Returns
true if the XPathNavigator is successful moving to the next sibling node; otherwise, false if there are no more siblings or if the XPathNavigator is currently positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.

◆ MoveToNextAttribute()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNextAttribute ( )
pure virtual

When overridden in a derived class, moves the XPathNavigator to the next attribute.

Returns
true if the XPathNavigator is successful moving to the next attribute; false if there are no more attributes. If false, the position of the XPathNavigator is unchanged.

◆ MoveToNextNamespace() [1/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNextNamespace ( XPathNamespaceScope  namespaceScope)
pure virtual

When overridden in a derived class, moves the XPathNavigator to the next namespace node matching the XPathNamespaceScope specified.

Parameters
namespaceScopeAn XPathNamespaceScope value describing the namespace scope.
Returns
true if the XPathNavigator is successful moving to the next namespace node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToNextNamespace() [2/2]

ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNextNamespace ( )

Moves the XPathNavigator to the next namespace node.

Returns
true if the XPathNavigator is successful moving to the next namespace node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToParent()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToParent ( )
pure virtual

When overridden in a derived class, moves the XPathNavigator to the parent node of the current node.

Returns
true if the XPathNavigator is successful moving to the parent node of the current node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

◆ MoveToPrevious()

virtual ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToPrevious ( )
pure virtual

When overridden in a derived class, moves the XPathNavigator to the previous sibling node of the current node.

Returns
true if the XPathNavigator is successful moving to the previous sibling node; otherwise, false if there is no previous sibling node or if the XPathNavigator is currently positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.

◆ MoveToRoot()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::MoveToRoot ( )
virtual

Moves the XPathNavigator to the root node that the current node belongs to.

◆ PrependChild() [1/4]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlWriter> System::Xml::XPath::XPathNavigator::PrependChild ( )
virtual

Returns an XmlWriter object used to create a new child node at the beginning of the list of child nodes of the current node.

Returns
An XmlWriter object used to create a new child node at the beginning of the list of child nodes of the current node.
Exceptions
InvalidOperationExceptionThe current node the XPathNavigator is positioned on does not allow a new child node to be prepended.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ PrependChild() [2/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::PrependChild ( String  newChild)
virtual

Creates a new child node at the beginning of the list of child nodes of the current node using the XML string specified.

Parameters
newChildThe XML data string for the new child node.
Exceptions
ArgumentNullExceptionThe XML string parameter is nullptr.
InvalidOperationExceptionThe current node the XPathNavigator is positioned on does not allow a new child node to be prepended.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML string parameter is not well-formed.

◆ PrependChild() [3/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::PrependChild ( SharedPtr< XmlReader newChild)
virtual

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.

Parameters
newChildAn XmlReader object positioned on the XML data for the new child node.
Exceptions
ArgumentExceptionThe XmlReader object is in an error state or closed.
ArgumentNullExceptionThe XmlReader object parameter is nullptr.
InvalidOperationExceptionThe current node the XPathNavigator is positioned on does not allow a new child node to be prepended.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML contents of the XmlReader object parameter is not well-formed.

◆ PrependChild() [4/4]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::PrependChild ( SharedPtr< XPathNavigator newChild)
virtual

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.

Parameters
newChildAn XPathNavigator object positioned on the node to add as the new child node.
Exceptions
ArgumentNullExceptionThe XPathNavigator object parameter is nullptr.
InvalidOperationExceptionThe current node the XPathNavigator is positioned on does not allow a new child node to be prepended.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ PrependChildElement()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::PrependChildElement ( String  prefix,
String  localName,
String  namespaceURI,
String  value 
)
virtual

Creates 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.

Parameters
prefixThe namespace prefix of the new child element (if any).
localNameThe local name of the new child element (if any).
namespaceURIThe namespace URI of the new child element (if any). String::Empty and nullptr are equivalent.
valueThe value of the new child element. If String::Empty or nullptr are passed, an empty element is created.
Exceptions
InvalidOperationExceptionThe current node the XPathNavigator is positioned on does not allow a new child node to be prepended.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ ReadSubtree()

virtual ASPOSECPP_SHARED_API SharedPtr<XmlReader> System::Xml::XPath::XPathNavigator::ReadSubtree ( )
virtual

Returns an XmlReader object that contains the current node and its child nodes.

Returns
An XmlReader object that contains the current node and its child nodes.
Exceptions
InvalidOperationExceptionThe XPathNavigator is not positioned on an element node or the root node.

◆ ReplaceRange()

virtual ASPOSECPP_SHARED_API SharedPtr<XmlWriter> System::Xml::XPath::XPathNavigator::ReplaceRange ( SharedPtr< XPathNavigator lastSiblingToReplace)
virtual

Replaces a range of sibling nodes from the current node to the node specified.

Parameters
lastSiblingToReplaceAn XPathNavigator positioned on the last sibling node in the range to replace.
Returns
An XmlWriter object used to specify the replacement range.
Exceptions
ArgumentNullExceptionThe XPathNavigator specified is nullptr.
NotSupportedExceptionThe XPathNavigator does not support editing.
InvalidOperationExceptionThe last node to replace specified is not a valid sibling node of the current node.

◆ ReplaceSelf() [1/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::ReplaceSelf ( String  newNode)
virtual

Replaces the current node with the content of the string specified.

Parameters
newNodeThe XML data string for the new node.
Exceptions
ArgumentNullExceptionThe XML string parameter is nullptr.
InvalidOperationExceptionThe XPathNavigator is not positioned on an element, text, processing instruction, or comment node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML string parameter is not well-formed.

◆ ReplaceSelf() [2/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::ReplaceSelf ( SharedPtr< XmlReader newNode)
virtual

Replaces the current node with the contents of the XmlReader object specified.

Parameters
newNodeAn XmlReader object positioned on the XML data for the new node.
Exceptions
ArgumentExceptionThe XmlReader object is in an error state or closed.
ArgumentNullExceptionThe XmlReader object parameter is nullptr.
InvalidOperationExceptionThe XPathNavigator is not positioned on an element, text, processing instruction, or comment node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML contents of the XmlReader object parameter is not well-formed.

◆ ReplaceSelf() [3/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::ReplaceSelf ( SharedPtr< XPathNavigator newNode)
virtual

Replaces the current node with the contents of the XPathNavigator object specified.

Parameters
newNodeAn XPathNavigator object positioned on the new node.
Exceptions
ArgumentNullExceptionThe XPathNavigator object parameter is nullptr.
InvalidOperationExceptionThe XPathNavigator is not positioned on an element, text, processing instruction, or comment node.
NotSupportedExceptionThe XPathNavigator does not support editing.
XmlExceptionThe XML contents of the XPathNavigator object parameter is not well-formed.

◆ Select() [1/3]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::Select ( String  xpath)
virtual

Selects a node set, using the specified XPath expression.

Parameters
xpathA String representing an XPath expression.
Returns
An XPathNodeIterator pointing to the selected node set.
Exceptions
ArgumentExceptionThe XPath expression contains an error or its return type is not a node set.
XPathExceptionThe XPath expression is not valid.

◆ Select() [2/3]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::Select ( String  xpath,
SharedPtr< IXmlNamespaceResolver resolver 
)
virtual

Selects a node set using the specified XPath expression with the IXmlNamespaceResolver object specified to resolve namespace prefixes.

Parameters
xpathA String representing an XPath expression.
resolverThe IXmlNamespaceResolver object used to resolve namespace prefixes.
Returns
An XPathNodeIterator that points to the selected node set.
Exceptions
ArgumentExceptionThe XPath expression contains an error or its return type is not a node set.
XPathExceptionThe XPath expression is not valid.

◆ Select() [3/3]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::Select ( SharedPtr< XPathExpression expr)
virtual

Selects a node set using the specified XPathExpression.

Parameters
exprAn XPathExpression object containing the compiled XPath query.
Returns
An XPathNodeIterator that points to the selected node set.
Exceptions
ArgumentExceptionThe XPath expression contains an error or its return type is not a node set.
XPathExceptionThe XPath expression is not valid.

◆ SelectAncestors() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectAncestors ( XPathNodeType  type,
bool  matchSelf 
)
virtual

Selects all the ancestor nodes of the current node that have a matching XPathNodeType.

Parameters
typeThe XPathNodeType of the ancestor nodes.
matchSelfTo include the context node in the selection, true; otherwise, false.
Returns
An XPathNodeIterator that contains the selected nodes. The returned nodes are in reverse document order.

◆ SelectAncestors() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectAncestors ( String  name,
String  namespaceURI,
bool  matchSelf 
)
virtual

Selects all the ancestor nodes of the current node that have the specified local name and namespace URI.

Parameters
nameThe local name of the ancestor nodes.
namespaceURIThe namespace URI of the ancestor nodes.
matchSelfTo include the context node in the selection, true; otherwise, false.
Returns
An XPathNodeIterator that contains the selected nodes. The returned nodes are in reverse document order.
Exceptions
ArgumentNullExceptionnullptr cannot be passed as a parameter.

◆ SelectChildren() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectChildren ( XPathNodeType  type)
virtual

Selects all the child nodes of the current node that have the matching XPathNodeType.

Parameters
typeThe XPathNodeType of the child nodes.
Returns
An XPathNodeIterator that contains the selected nodes.

◆ SelectChildren() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectChildren ( String  name,
String  namespaceURI 
)
virtual

Selects all the child nodes of the current node that have the local name and namespace URI specified.

Parameters
nameThe local name of the child nodes.
namespaceURIThe namespace URI of the child nodes.
Returns
An XPathNodeIterator that contains the selected nodes.
Exceptions
ArgumentNullExceptionnullptr cannot be passed as a parameter.

◆ SelectDescendants() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectDescendants ( XPathNodeType  type,
bool  matchSelf 
)
virtual

Selects all the descendant nodes of the current node that have a matching XPathNodeType.

Parameters
typeThe XPathNodeType of the descendant nodes.
matchSelftrue to include the context node in the selection; otherwise, false.
Returns
An XPathNodeIterator that contains the selected nodes.

◆ SelectDescendants() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectDescendants ( String  name,
String  namespaceURI,
bool  matchSelf 
)
virtual

Selects all the descendant nodes of the current node with the local name and namespace URI specified.

Parameters
nameThe local name of the descendant nodes.
namespaceURIThe namespace URI of the descendant nodes.
matchSelftrue to include the context node in the selection; otherwise, false.
Returns
An XPathNodeIterator that contains the selected nodes.
Exceptions
ArgumentNullExceptionnullptr cannot be passed as a parameter.

◆ SelectSingleNode() [1/3]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNavigator> System::Xml::XPath::XPathNavigator::SelectSingleNode ( String  xpath)
virtual

Selects a single node in the XPathNavigator using the specified XPath query.

Parameters
xpathA String representing an XPath expression.
Returns
An XPathNavigator object that contains the first matching node for the XPath query specified; otherwise, nullptr if there are no query results.
Exceptions
ArgumentExceptionAn error was encountered in the XPath query or the return type of the XPath expression is not a node.
XPathExceptionThe XPath query is not valid.

◆ SelectSingleNode() [2/3]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNavigator> System::Xml::XPath::XPathNavigator::SelectSingleNode ( String  xpath,
SharedPtr< IXmlNamespaceResolver resolver 
)
virtual

Selects a single node in the XPathNavigator object using the specified XPath query with the IXmlNamespaceResolver object specified to resolve namespace prefixes.

Parameters
xpathA String representing an XPath expression.
resolverThe IXmlNamespaceResolver object used to resolve namespace prefixes in the XPath query.
Returns
An XPathNavigator object that contains the first matching node for the XPath query specified; otherwise nullptr if there are no query results.
Exceptions
ArgumentExceptionAn error was encountered in the XPath query or the return type of the XPath expression is not a node.
XPathExceptionThe XPath query is not valid.

◆ SelectSingleNode() [3/3]

virtual ASPOSECPP_SHARED_API SharedPtr<XPathNavigator> System::Xml::XPath::XPathNavigator::SelectSingleNode ( SharedPtr< XPathExpression expression)
virtual

Selects a single node in the XPathNavigator using the specified XPathExpression object.

Parameters
expressionAn XPathExpression object containing the compiled XPath query.
Returns
An XPathNavigator object that contains the first matching node for the XPath query specified; otherwise nullptr if there are no query results.
Exceptions
ArgumentExceptionAn error was encountered in the XPath query or the return type of the XPath expression is not a node.
XPathExceptionThe XPath query is not valid.

◆ set_InnerXml()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::set_InnerXml ( String  value)
virtual

Sets the markup representing the child nodes of the current node.

Parameters
valueThe value to set.
Exceptions
InvalidOperationExceptionThe value cannot be set.

◆ set_OuterXml()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::set_OuterXml ( String  value)
virtual

Sets the markup representing the opening and closing tags of the current node and its child nodes.

Parameters
valueThe value to set.

◆ SetTypedValue()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::SetTypedValue ( SharedPtr< Object typedValue)
virtual

Sets the typed value of the current node.

Parameters
typedValueThe new typed value of the node.
Exceptions
ArgumentExceptionThe XPathNavigator does not support the type of the object specified.
ArgumentNullExceptionThe value specified cannot be nullptr.
InvalidOperationExceptionThe XPathNavigator is not positioned on an element or attribute node.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ SetValue()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::SetValue ( String  value)
virtual

Sets the value of the current node.

Parameters
valueThe new value of the node.
Exceptions
ArgumentNullExceptionThe value parameter is nullptr.
InvalidOperationExceptionThe XPathNavigator is positioned on the root node, a namespace node, or the specified value is invalid.
NotSupportedExceptionThe XPathNavigator does not support editing.

◆ ToString()

ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::ToString ( ) const
overridevirtual

Returns the text value of the current node.

Returns
A string that contains the text value of the current node.

Reimplemented from System::Object.

◆ ValueAs()

ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::ValueAs ( const TypeInfo returnType,
SharedPtr< IXmlNamespaceResolver nsResolver 
)
overridevirtual

Returns the current node's value as the Type specified, using the IXmlNamespaceResolver object specified to resolve namespace prefixes.

Parameters
returnTypeThe Type to return the current node's value as.
nsResolverThe IXmlNamespaceResolver object used to resolve namespace prefixes.
Returns
The value of the current node as the Type requested.
Exceptions
FormatExceptionThe current node's value is not in the correct format for the target type.
InvalidCastExceptionThe attempted cast is not valid.

Implements System::Xml::XPath::XPathItem.

◆ WriteSubtree()

virtual ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::WriteSubtree ( SharedPtr< XmlWriter writer)
virtual

Streams the current node and its child nodes to the XmlWriter object specified.

Parameters
writerThe XmlWriter object to stream to.