Inherits System::Xml::XPath::XPathItem, and System::Xml::XPath::IXPathNavigable.
Public Types | |
typedef SharedPtr< XPathNavigator > | Ptr |
An alias for shared pointer to an instance of this class. More... | |
![]() | |
typedef SharedPtr< XPathItem > | Ptr |
An alias for shared pointer to an instance of this class. More... | |
![]() | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
typedef System::Details::SharedMembersType | shared_members_type |
structure to keep list of shared pointers contained in object. More... | |
Public Member Functions | |
ASPOSECPP_SHARED_API String | get_Name () const |
Returns the qualified name of the current node. More... | |
ASPOSECPP_SHARED_API String | get_LocalName () const |
Returns the local name of the current node. More... | |
ASPOSECPP_SHARED_API String | get_Prefix () const |
Returns the prefix of the current node. More... | |
ASPOSECPP_SHARED_API String | get_NamespaceURI () const |
Returns the namespace URI of the current node. More... | |
ASPOSECPP_SHARED_API String | get_Value () const override |
Returns the value of the current node. More... | |
ASPOSECPP_SHARED_API String | get_InnerText () const |
Returns the value of the current node. More... | |
ASPOSECPP_SHARED_API String | get_InnerXml () const |
Returns a string containing all the content of the current node, including the markup, but excluding start and end tags. More... | |
ASPOSECPP_SHARED_API String | get_OuterXml () const |
Returns a string containing all the content of the current node, including the markup, and including start and end tags. More... | |
ASPOSECPP_SHARED_API bool | get_HasChildren () const |
Determines if the current node has any child nodes. More... | |
ASPOSECPP_SHARED_API bool | get_HasAttributes () const |
Determines if the current node has any attributes. More... | |
bool | get_CanEdit () const |
ASPOSECPP_SHARED_API XPathNodeType | get_NodeType () const |
Returns the type of the current node. More... | |
ASPOSECPP_SHARED_API int | get_ValueAsInt () const override |
Returns the current node's value as a 32-bit integer. More... | |
ASPOSECPP_SHARED_API System::DateTime | get_ValueAsDateTime () const override |
Returns the current node's value as an instance of DateTime object. More... | |
ASPOSECPP_SHARED_API double | get_ValueAsDouble () const override |
Returns the current node's value as a double-precision floating point number.|. More... | |
ASPOSECPP_SHARED_API int64_t | get_ValueAsLong () const override |
Returns the current node's value as a 64-bit integer. More... | |
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNameTable > | get_NameTable () const |
Returns the name tabel used by the current object. More... | |
ASPOSECPP_SHARED_API bool | MoveTo (const XPathNavigator::Ptr &other) |
ASPOSECPP_SHARED_API bool | MoveToFirst () |
ASPOSECPP_SHARED_API bool | MoveToFirstChild () |
ASPOSECPP_SHARED_API void | MoveToRoot () |
ASPOSECPP_SHARED_API bool | MoveToNext () |
ASPOSECPP_SHARED_API bool | MoveToPrevious () |
ASPOSECPP_SHARED_API bool | MoveToParent () |
ASPOSECPP_SHARED_API bool | MoveToAttribute (const String &localName, const String &namespaceURI) |
ASPOSECPP_SHARED_API bool | MoveToFirstAttribute () |
ASPOSECPP_SHARED_API bool | MoveToNextAttribute () |
ASPOSECPP_SHARED_API String | GetAttribute (const String &localName, const String &namespaceURI) const |
ASPOSECPP_SHARED_API SharedPtr< Object > | Evaluate (const SharedPtr< XPathExpression > &expr) |
ASPOSECPP_SHARED_API SharedPtr< XPathNodeIterator > | Select (const String &xpath) |
ASPOSECPP_SHARED_API SharedPtr< XPathNodeIterator > | Select (const String &xpath, const SharedPtr< System::Xml::XmlNamespaceManager > &ns) |
ASPOSECPP_SHARED_API SharedPtr< XPathNodeIterator > | Select (const SharedPtr< XPathExpression > &expr) |
ASPOSECPP_SHARED_API XPathNavigator::Ptr | SelectSingleNode (const String &xpath) |
ASPOSECPP_SHARED_API XPathNavigator::Ptr | SelectSingleNode (const String &xpath, const SharedPtr< System::Xml::XmlNamespaceManager > &ns) |
ASPOSECPP_SHARED_API XPathNavigator::Ptr | SelectSingleNode (const SharedPtr< XPathExpression > &expr) |
ASPOSECPP_SHARED_API SharedPtr< XPathNodeIterator > | SelectChildren (XPathNodeType type) |
ASPOSECPP_SHARED_API SharedPtr< XPathNodeIterator > | SelectChildren (const String &name, const String &namespaceURI) |
ASPOSECPP_SHARED_API SharedPtr< XPathExpression > | Compile (const String &xpath) const |
ASPOSECPP_SHARED_API bool | Matches (const String &xpath) const |
ASPOSECPP_SHARED_API bool | Matches (const SharedPtr< XPathExpression > &xpath) const |
ASPOSECPP_SHARED_API XPathNavigator::Ptr | CreateNavigator () override |
Returns a copy of the current XPathNavigator object. More... | |
const SharedPtr< XPathDocument > & | GetDocument () |
Returns an XPathDocument object associated with the current XPathNavigator object. More... | |
xmlXPathContext * | native_ctx () const |
Returns a pointer to the underlying libxml2 xmlXPathContext object used by the current object. More... | |
![]() | |
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... | |
Object & | operator= (Object const &x) |
Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object * | SharedRefAdded () |
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 refernce 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 int | GetHashCode () const |
Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More... | |
virtual ASPOSECPP_SHARED_API String | ToString () const |
Analog of C# Object.ToString() method. Enables converting custom objects to string. More... | |
virtual ASPOSECPP_SHARED_API ptr | MemberwiseClone () const |
Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More... | |
virtual ASPOSECPP_SHARED_API const TypeInfo & | GetType () 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 (unsigned int argument) |
Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More... | |
template<> | |
bool | Equals (float const &objA, float const &objB) |
template<> | |
bool | Equals (double const &objA, double const &objB) |
template<> | |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
template<> | |
bool | ReferenceEquals (String const &str1, String const &str2) |
Protected Member Functions | |
ASPOSECPP_SHARED_API | XPathNavigator () |
Constructs a new instance of XPathNavigator class. More... | |
ASPOSECPP_SHARED_API | XPathNavigator (const SharedPtr< XPathDocument > &document, xmlXPathContext *ctx, xmlNode *node=nullptr) |
virtual ASPOSECPP_SHARED_API | ~XPathNavigator () |
Destructor. More... | |
ASPOSECPP_SHARED_API bool | SetContextNode (xmlNode *node) |
Additional Inherited Members | |
![]() | |
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 TypeInfo & | Type () |
Impleemnts C# typeof(System.Object) construct. More... | |
Allows navigating and editing XML data. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
An alias for shared pointer to an instance of this class.
|
protected |
Constructs a new instance of XPathNavigator class.
|
protected |
Constructs a new instance of XPathNavigator class for navigating through the specified XPathDocument using the specified context.
document | The document to navigate through |
ctx | The XPath context to use |
node | The node in the document to set as a context node or null in which case the specified document's root node will be set as context node |
|
protectedvirtual |
Destructor.
ASPOSECPP_SHARED_API SharedPtr<XPathExpression> System::Xml::XPath::XPathNavigator::Compile | ( | const String & | xpath | ) | const |
Constructs an XPathExpression object that represents the specifed XPath expression.
xpath | The string representation of an XPath expression |
xpath
expression
|
overridevirtual |
Returns a copy of the current XPathNavigator object.
Implements System::Xml::XPath::IXPathNavigable.
ASPOSECPP_SHARED_API SharedPtr<Object> System::Xml::XPath::XPathNavigator::Evaluate | ( | const SharedPtr< XPathExpression > & | expr | ) |
|
inline |
Determines if the XPathNavigator object can edit the underlying XML data.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_HasAttributes | ( | ) | const |
Determines if the current node has any attributes.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::get_HasChildren | ( | ) | const |
Determines if the current node has any child nodes.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_InnerText | ( | ) | const |
Returns the value of the current node.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_InnerXml | ( | ) | const |
Returns a string containing all the content of the current node, including the markup, but excluding start and end tags.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_LocalName | ( | ) | const |
Returns the local name of the current node.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_Name | ( | ) | const |
Returns the qualified name of the current node.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_NamespaceURI | ( | ) | const |
Returns the namespace URI of the current node.
|
virtual |
Returns the name tabel used by the current object.
ASPOSECPP_SHARED_API XPathNodeType System::Xml::XPath::XPathNavigator::get_NodeType | ( | ) | const |
Returns the type of the current node.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_OuterXml | ( | ) | const |
Returns a string containing all the content of the current node, including the markup, and including start and end tags.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::get_Prefix | ( | ) | const |
Returns the prefix of the current node.
|
overridevirtual |
Returns the value of the current node.
Implements System::Xml::XPath::XPathItem.
|
overridevirtual |
Returns the current node's value as an instance of DateTime object.
Implements System::Xml::XPath::XPathItem.
|
overridevirtual |
Returns the current node's value as a double-precision floating point number.|.
Implements System::Xml::XPath::XPathItem.
|
overridevirtual |
Returns the current node's value as a 32-bit integer.
Implements System::Xml::XPath::XPathItem.
|
overridevirtual |
Returns the current node's value as a 64-bit integer.
Implements System::Xml::XPath::XPathItem.
ASPOSECPP_SHARED_API String System::Xml::XPath::XPathNavigator::GetAttribute | ( | const String & | localName, |
const String & | namespaceURI | ||
) | const |
Returns the value of the current node's attribute whose local name and namespace URI match the specified values.
localName | The local name of the attribute |
namespaceURI | The namespace URI of the attribute |
localName
and namespace URI matches namespaceURI
|
inline |
Returns an XPathDocument object associated with the current XPathNavigator object.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::Matches | ( | const String & | xpath | ) | const |
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::Matches | ( | const SharedPtr< XPathExpression > & | xpath | ) | const |
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveTo | ( | const XPathNavigator::Ptr & | other | ) |
Moves the the current XPathNavigator to the position equal to that of the specified XPathNavigator.
other | The reference XPathNavigator |
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToAttribute | ( | const String & | localName, |
const String & | namespaceURI | ||
) |
Moves the the current XPathNavigator to the attribute of the current node whose local name and namespace URI match the specified values.
localName | The local name of the attribute |
namespaceURI | The namespace URI of the attribute |
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirst | ( | ) |
Moves the the current XPathNavigator to the first sibling of the current node.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirstAttribute | ( | ) |
Moves the the current XPathNavigator to the first attribute of the current node.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToFirstChild | ( | ) |
Moves the the current XPathNavigator to the first child node of the current node.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNext | ( | ) |
Moves the the current XPathNavigator to the next sibling node of the current node.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToNextAttribute | ( | ) |
Moves the the current XPathNavigator to the next attribute of the current node.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToParent | ( | ) |
Moves the the current XPathNavigator to the parent node of the current node.
ASPOSECPP_SHARED_API bool System::Xml::XPath::XPathNavigator::MoveToPrevious | ( | ) |
Moves the the current XPathNavigator to the previous child node of the current node.
ASPOSECPP_SHARED_API void System::Xml::XPath::XPathNavigator::MoveToRoot | ( | ) |
Moves the the current XPathNavigator to the root node of the current node.
|
inline |
Returns a pointer to the underlying libxml2 xmlXPathContext object used by the current object.
ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::Select | ( | const String & | xpath | ) |
ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::Select | ( | const String & | xpath, |
const SharedPtr< System::Xml::XmlNamespaceManager > & | ns | ||
) |
ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::Select | ( | const SharedPtr< XPathExpression > & | expr | ) |
Select a set of nodes using the specified XPath expression represented as XPathExpression object.
expr | An XPath expression |
ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectChildren | ( | XPathNodeType | type | ) |
NOT IMPLEMENTED
NotImplementedException | Always |
ASPOSECPP_SHARED_API SharedPtr<XPathNodeIterator> System::Xml::XPath::XPathNavigator::SelectChildren | ( | const String & | name, |
const String & | namespaceURI | ||
) |
NOT IMPLEMENTED
NotImplementedException | Always |
ASPOSECPP_SHARED_API XPathNavigator::Ptr System::Xml::XPath::XPathNavigator::SelectSingleNode | ( | const String & | xpath | ) |
Selecs the first node in the current XPathNavigator using the specified XPath expression.
xpath | A string representation of XPath expression |
ASPOSECPP_SHARED_API XPathNavigator::Ptr System::Xml::XPath::XPathNavigator::SelectSingleNode | ( | const String & | xpath, |
const SharedPtr< System::Xml::XmlNamespaceManager > & | ns | ||
) |
Selecs the first node in the current XPathNavigator using the specified XPath expression.
xpath | A string representation of XPath expression |
ns | Namespace manager to use |
ASPOSECPP_SHARED_API XPathNavigator::Ptr System::Xml::XPath::XPathNavigator::SelectSingleNode | ( | const SharedPtr< XPathExpression > & | expr | ) |
Selecs the first node in the current XPathNavigator using the specified XPath expression.
expr | A string representation of XPath expression |
|
protected |
Sets the specified node as a context node.
node | The node to set as a context node |