Represents an element. More...

#include "xml_element.h"

Inherits System::Xml::XmlLinkedNode.

Public Types

using Ptr = SharedPtr< XmlElement >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::XmlLinkedNode
using Ptr = SharedPtr< XmlLinkedNode >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::XmlNode
using Ptr = SharedPtr< XmlNode >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Collections::Generic::IEnumerable< SharedPtr< System::Xml::XmlNode > >
typedef IEnumerator< SharedPtr< System::Xml::XmlNode > > IEnumeratorType
 Enumerator type. More...
 
using ValueType = SharedPtr< System::Xml::XmlNode >
 
using iterator = System::Details::VirtualizedIterator< SharedPtr< System::Xml::XmlNode > >
 Iterator type. More...
 
using const_iterator = System::Details::VirtualizedConstIterator< SharedPtr< System::Xml::XmlNode > >
 Const iterator type. More...
 
using virtualized_iterator = System::Details::VirtualizedIteratorBase< SharedPtr< System::Xml::XmlNode > >
 Inner iterator base type. More...
 
using virtualized_iterator_element = SharedPtr< System::Xml::XmlNode >
 Inner iterator element type. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Public Member Functions

ASPOSECPP_SHARED_API String get_Name () override
 Returns the qualified name of the node. More...
 
ASPOSECPP_SHARED_API String get_LocalName () override
 Returns the local name of the current node. More...
 
ASPOSECPP_SHARED_API String get_NamespaceURI () override
 Returns the namespace URI of this node. More...
 
ASPOSECPP_SHARED_API String get_Prefix () override
 Returns the namespace prefix of this node. More...
 
ASPOSECPP_SHARED_API void set_Prefix (String value) override
 Sets the namespace prefix of this node. More...
 
ASPOSECPP_SHARED_API XmlNodeType get_NodeType () override
 Returns the type of the current node. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlDocumentget_OwnerDocument () override
 Returns the XmlDocument to which this node belongs. More...
 
ASPOSECPP_SHARED_API bool get_IsEmpty ()
 Returns the tag format of the element. More...
 
ASPOSECPP_SHARED_API void set_IsEmpty (bool value)
 Sets the tag format of the element. More...
 
virtual ASPOSECPP_SHARED_API bool get_HasAttributes ()
 Returns a bool value indicating whether the current node has any attributes. More...
 
ASPOSECPP_SHARED_API SharedPtr< Schema::IXmlSchemaInfoget_SchemaInfo () override
 Returns the post schema validation infoset that has been assigned to this node as a result of schema validation. More...
 
ASPOSECPP_SHARED_API String get_InnerXml () override
 Returns the markup representing just the children of this node. More...
 
ASPOSECPP_SHARED_API void set_InnerXml (String value) override
 Sets the markup representing just the children of this node. More...
 
ASPOSECPP_SHARED_API String get_InnerText () override
 Returns the concatenated values of the node and all its children. More...
 
ASPOSECPP_SHARED_API void set_InnerText (String value) override
 Sets the concatenated values of the node and all its children. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlNodeCloneNode (bool deep) override
 Creates a duplicate of this node. More...
 
virtual ASPOSECPP_SHARED_API String GetAttribute (String name)
 Returns the value for the attribute with the specified name. More...
 
virtual ASPOSECPP_SHARED_API void SetAttribute (String name, String value)
 Sets the value of the attribute with the specified name. More...
 
virtual ASPOSECPP_SHARED_API void RemoveAttribute (String name)
 Removes an attribute by name. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeGetAttributeNode (String name)
 Returns the XmlAttribute with the specified name. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeSetAttributeNode (SharedPtr< XmlAttribute > newAttr)
 Adds the specified XmlAttribute. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeRemoveAttributeNode (SharedPtr< XmlAttribute > oldAttr)
 Removes the specified XmlAttribute. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeListGetElementsByTagName (String name)
 Returns an XmlNodeList containing a list of all descendant elements that match the specified XmlElement::get_Name. More...
 
virtual ASPOSECPP_SHARED_API String GetAttribute (String localName, String namespaceURI)
 Returns the value for the attribute with the specified local name and namespace URI. More...
 
virtual ASPOSECPP_SHARED_API String SetAttribute (String localName, String namespaceURI, String value)
 Sets the value of the attribute with the specified local name and namespace URI. More...
 
virtual ASPOSECPP_SHARED_API void RemoveAttribute (String localName, String namespaceURI)
 Removes an attribute with the specified local name and namespace URI. (If the removed attribute has a default value, it is immediately replaced). More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeGetAttributeNode (String localName, String namespaceURI)
 Returns the XmlAttribute with the specified local name and namespace URI. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeSetAttributeNode (String localName, String namespaceURI)
 Adds the specified XmlAttribute. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeRemoveAttributeNode (String localName, String namespaceURI)
 Removes the XmlAttribute specified by the local name and namespace URI. (If the removed attribute has a default value, it is immediately replaced). More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeListGetElementsByTagName (String localName, String namespaceURI)
 Returns an XmlNodeList containing a list of all descendant elements that match the specified XmlElement::get_LocalName and XmlElement::get_NamespaceURI values. More...
 
virtual ASPOSECPP_SHARED_API bool HasAttribute (String name)
 Determines whether the current node has an attribute with the specified name. More...
 
virtual ASPOSECPP_SHARED_API bool HasAttribute (String localName, String namespaceURI)
 Determines whether the current node has an attribute with the specified local name and namespace URI. More...
 
ASPOSECPP_SHARED_API void WriteTo (const SharedPtr< XmlWriter > &w) override
 Saves the current node to the specified XmlWriter. More...
 
ASPOSECPP_SHARED_API void WriteContentTo (const SharedPtr< XmlWriter > &w) override
 Saves all the children of the node to the specified XmlWriter. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeRemoveAttributeAt (int32_t i)
 Removes the attribute node with the specified index from the element. (If the removed attribute has a default value, it is immediately replaced). More...
 
virtual ASPOSECPP_SHARED_API void RemoveAllAttributes ()
 Removes all specified attributes from the element. Default attributes are not removed. More...
 
ASPOSECPP_SHARED_API void RemoveAll () override
 Removes all specified attributes and children of the current node. Default attributes are not removed. More...
 
- Public Member Functions inherited from System::Xml::XmlNode
virtual ASPOSECPP_SHARED_API String get_Value ()
 Returns the value of the node. More...
 
virtual ASPOSECPP_SHARED_API void set_Value (String value)
 Sets the value of the node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeget_ParentNode () final
 Returns the parent of this node (for nodes that can have parents). More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeListget_ChildNodes ()
 Returns all the child nodes of the node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeget_PreviousSibling () final
 Returns the node immediately preceding this node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeget_NextSibling () final
 Returns the node immediately following this node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlAttributeCollectionget_Attributes () final
 Returns an XmlAttributeCollection containing the attributes of this node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeget_FirstChild () final
 Returns the first child of the node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeget_LastChild () final
 Returns the last child of the node. More...
 
virtual ASPOSECPP_SHARED_API bool get_HasChildNodes ()
 Returns a value indicating whether this node has any child nodes. More...
 
virtual ASPOSECPP_SHARED_API bool get_IsReadOnly ()
 Returns a value indicating whether the node is read-only. More...
 
virtual ASPOSECPP_SHARED_API String get_OuterXml ()
 Returns the markup containing this node and all its child nodes. More...
 
virtual ASPOSECPP_SHARED_API String get_BaseURI ()
 Returns the base URI of the current node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeget_PreviousText ()
 Returns the text node that immediately precedes this node. More...
 
ASPOSECPP_SHARED_API SharedPtr< XPath::XPathNavigatorCreateNavigator () override
 Creates an XPathNavigator for navigating this object. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlNodeSelectSingleNode (const String &xpath)
 Selects the first XmlNode that matches the XPath expression. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlNodeSelectSingleNode (const String &xpath, const SharedPtr< XmlNamespaceManager > &nsmgr)
 Selects the first XmlNode that matches the XPath expression. Any prefixes found in the XPath expression are resolved using the supplied XmlNamespaceManager. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlNodeListSelectNodes (const String &xpath)
 Selects a list of nodes matching the XPath expression. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlNodeListSelectNodes (const String &xpath, const SharedPtr< XmlNamespaceManager > &nsmgr)
 Selects a list of nodes matching the XPath expression. Any prefixes found in the XPath expression are resolved using the supplied XmlNamespaceManager. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeInsertBefore (SharedPtr< XmlNode > newChild, SharedPtr< XmlNode > refChild)
 Inserts the specified node immediately before the specified reference node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeInsertAfter (SharedPtr< XmlNode > newChild, SharedPtr< XmlNode > refChild)
 Inserts the specified node immediately after the specified reference node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeReplaceChild (SharedPtr< XmlNode > newChild, SharedPtr< XmlNode > oldChild)
 Replaces the child node oldChild with newChild node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeRemoveChild (SharedPtr< XmlNode > oldChild)
 Removes specified child node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodePrependChild (SharedPtr< XmlNode > newChild)
 Adds the specified node to the beginning of the list of child nodes for this node. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeAppendChild (SharedPtr< XmlNode > newChild)
 Adds the specified node to the end of the list of child nodes, of this node. More...
 
virtual ASPOSECPP_SHARED_API void Normalize ()
 Puts all XmlText nodes in the full depth of the sub-tree underneath this XmlNode into a "normal" form where only markup (that is, tags, comments, processing instructions, CDATA sections, and entity references) separates XmlText nodes, that is, there are no adjacent XmlText nodes. More...
 
virtual ASPOSECPP_SHARED_API bool Supports (String feature, String version)
 Tests if the DOM implementation implements a specific feature. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlNodeClone ()
 Creates a duplicate of this node. More...
 
ASPOSECPP_SHARED_API SharedPtr< Collections::Generic::IEnumerator< SharedPtr< XmlNode > > > GetEnumerator () override
 Returns an enumerator that iterates through the child nodes in the current node. More...
 
virtual ASPOSECPP_SHARED_API String GetNamespaceOfPrefix (String prefix)
 Looks up the closest xmlns declaration for the given prefix that is in scope for the current node and returns the namespace URI in the declaration. More...
 
virtual ASPOSECPP_SHARED_API String GetPrefixOfNamespace (String namespaceURI)
 Looks up the closest xmlns declaration for the given namespace URI that is in scope for the current node and returns the prefix defined in that declaration. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlElementidx_get (String name)
 Returns the first child element with the specified XmlNode::get_Name. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< XmlElementidx_get (String localname, String ns)
 Returns the first child element with the specified XmlNode::get_LocalName and XmlNode::get_NamespaceURI values. More...
 
- Public Member Functions inherited from System::Collections::Generic::IEnumerable< SharedPtr< System::Xml::XmlNode > >
SharedPtr< System::Xml::XmlNodeLINQ_ElementAt (int index)
 Returns the element at a specified index in a sequence. More...
 
SharedPtr< System::Xml::XmlNodeLINQ_First ()
 Returns the first element of a sequence. More...
 
SharedPtr< System::Xml::XmlNodeLINQ_First (const Func< SharedPtr< System::Xml::XmlNode >, bool > &predicate)
 Returns the first element of a sequence that satisfy the specified condition. More...
 
SharedPtr< System::Xml::XmlNodeLINQ_FirstOrDefault ()
 Returns the first element of a sequence, or a default value if the sequence is empty. More...
 
SharedPtr< System::Xml::XmlNodeLINQ_FirstOrDefault (std::function< bool(SharedPtr< System::Xml::XmlNode >)> predicate)
 Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. More...
 
SharedPtr< System::Xml::XmlNodeLINQ_Last ()
 Returns the last element of a sequence. More...
 
SharedPtr< System::Xml::XmlNodeLINQ_LastOrDefault ()
 Returns the last element of a sequence, or a default value if the sequence is empty. More...
 
SharedPtr< List< SharedPtr< System::Xml::XmlNode > > > LINQ_ToList ()
 Creates a List<T> from a sequence. More...
 
int LINQ_Count ()
 Returns the number of elements in the sequence (calculated via direct counting). More...
 
int LINQ_Count (const Func< SharedPtr< System::Xml::XmlNode >, bool > &predicate)
 Returns the number of elements in the sequence that satisfy the specified condition. More...
 
System::ArrayPtr< SharedPtr< System::Xml::XmlNode > > LINQ_ToArray ()
 Creates an array from a sequence. More...
 
bool LINQ_All (std::function< bool(SharedPtr< System::Xml::XmlNode >)> predicate)
 Determines whether all elements of a sequence satisfy a condition. More...
 
bool LINQ_Any ()
 Determines whether a sequence contains any elements. More...
 
bool LINQ_Any (std::function< bool(SharedPtr< System::Xml::XmlNode >)> predicate)
 Determines whether any element of a sequence exists or satisfies a condition. More...
 
SharedPtr< IEnumerable< SharedPtr< System::Xml::XmlNode > > > LINQ_Where (std::function< bool(SharedPtr< System::Xml::XmlNode >)> predicate)
 Filters a sequence based on the specified predicate. More...
 
bool LINQ_Contains (SharedPtr< System::Xml::XmlNode > value)
 Determines if a sequence contains a specified value. More...
 
SharedPtr< IEnumerable< ResultType > > LINQ_Cast ()
 Casts the elements to the specified type. More...
 
SharedPtr< IEnumerable< Result > > LINQ_Cast ()
 
SharedPtr< IEnumerable< SharedPtr< System::Xml::XmlNode > > > LINQ_OrderBy (const Func< SharedPtr< System::Xml::XmlNode >, Key > &keySelector)
 Sorts the elements of a sequence in ascending order according to the key values selected by keySelector. More...
 
SharedPtr< IEnumerable< Source > > LINQ_OrderBy (const Func< Source, Key > &keySelector)
 
SharedPtr< IEnumerable< SharedPtr< System::Xml::XmlNode > > > LINQ_OrderByDescending (const Func< SharedPtr< System::Xml::XmlNode >, Key > &keySelector)
 Sorts the elements of a sequence in descending order according to the key values selected by keySelector. More...
 
SharedPtr< IEnumerable< Source > > LINQ_OrderByDescending (const Func< Source, Key > &keySelector)
 
SharedPtr< IEnumerable< ResultType > > LINQ_OfType ()
 Filters the elements of the sequence based on the specified type. More...
 
SharedPtr< IEnumerable< Result > > LINQ_OfType ()
 
SharedPtr< IEnumerable< ResultType > > LINQ_Select (const Func< SharedPtr< System::Xml::XmlNode >, ResultType > &selector)
 Transforms elements of a sequence. More...
 
SharedPtr< IEnumerable< ResultType > > LINQ_Select (const Func< SharedPtr< System::Xml::XmlNode >, int32_t, ResultType > &selector)
 Transforms each element of a sequence into a new form by incorporating the element's index. More...
 
SharedPtr< IEnumerable< Result > > LINQ_Select (const Func< Source, Result > &selector)
 
SharedPtr< IEnumerable< Result > > LINQ_Select (const Func< Source, int32_t, Result > &selector)
 
SharedPtr< IEnumerable< SharedPtr< System::Xml::XmlNode > > > LINQ_Concat (SharedPtr< IEnumerable< SharedPtr< System::Xml::XmlNode > >> sequence)
 Concatenates two sequences. More...
 
System::SharedPtr< IEnumerable< System::SharedPtr< System::Linq::IGrouping< Key, SharedPtr< System::Xml::XmlNode > > > > > LINQ_GroupBy (System::Func< SharedPtr< System::Xml::XmlNode >, Key > keyPredicate)
 Groups the elements of a sequence. More...
 
SharedPtr< IEnumerable< SharedPtr< System::Linq::IGrouping< Key, Source > > > > LINQ_GroupBy (System::Func< Source, Key > keyPredicate)
 
SharedPtr< IEnumerable< ResultType > > LINQ_SelectMany (const Func< SharedPtr< System::Xml::XmlNode >, SharedPtr< IEnumerable< ResultType >>> &selector)
 Projects each element of a sequence and combines the resulting sequences into one sequence. More...
 
SharedPtr< IEnumerable< Result > > LINQ_SelectMany (const Func< Source, SharedPtr< IEnumerable< Result >>> &selector)
 
iterator begin ()
 Gets iterator pointing to the first element (if any) of the collection. This iterator can't be used to change a referenced object because GetEnumerator() returns a copy-object of T. More...
 
const_iterator begin () const
 Gets iterator pointing to the first element (if any) of the const-qualified instance of the collection. More...
 
iterator end ()
 Gets iterator pointing right after the last element (if any) of the collection. This iterator can't be used to change a referenced object because GetEnumerator() returns a copy-object of T. More...
 
const_iterator end () const
 Gets iterator pointing right after the last element (if any) of the const-qualified instance of the collection. More...
 
const_iterator cbegin () const
 Gets iterator pointing to the first const-qualified element (if any) of the collection. More...
 
const_iterator cend () const
 Gets iterator pointing right after the last const-qualified element (if any) of the collection. More...
 
virtual virtualized_iteratorvirtualizeBeginIterator ()
 Gets the implementation of begin iterator for the current container. More...
 
virtual virtualized_iteratorvirtualizeEndIterator ()
 Gets the implementation of end iterator for the current container. More...
 
virtual virtualized_iteratorvirtualizeBeginConstIterator () const
 Gets the implementation of begin const iterator for the current container. More...
 
virtual virtualized_iteratorvirtualizeEndConstIterator () const
 Gets the implementation of end const iterator for the current container. 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 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 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...
 

Protected Member Functions

ASPOSECPP_SHARED_API XmlElement (const String &prefix, const String &localName, const String &namespaceURI, const SharedPtr< XmlDocument > &doc)
 Initializes a new instance of the XmlElement class. More...
 
ASPOSECPP_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION (XmlElement, CODEPORTING_ARGS(const String &prefix, const String &localName, const String &namespaceURI, const SharedPtr< XmlDocument > &doc))
 
virtual ASPOSECPP_SHARED_API ~XmlElement ()
 
- Protected Member Functions inherited from System::Xml::XmlLinkedNode
virtual ASPOSECPP_SHARED_API ~XmlLinkedNode ()
 
- Protected Member Functions inherited from System::Xml::XmlNode
virtual ASPOSECPP_SHARED_API ~XmlNode ()
 
- Protected Member Functions inherited from System::Collections::Generic::IEnumerable< SharedPtr< System::Xml::XmlNode > >
 ~IEnumerable () override
 Destructor. More...
 
virtualized_iteratorGetEnumeratorAsVirtualizedIterator ()
 Gets enumerator instance and prepares it to be used as iterator kernel. More...
 
virtualized_iteratorGetEnumeratorAsVirtualizedIterator () const
 Gets enumerator instance and prepares it to be used as iterator kernel. More...
 

Additional Inherited Members

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

Detailed Description

Represents an element.

Attention
Objects of this class should only be allocated using System::MakeObject() function. Never create instances 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.

Member Typedef Documentation

◆ Ptr

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

Constructor & Destructor Documentation

◆ XmlElement()

ASPOSECPP_SHARED_API System::Xml::XmlElement::XmlElement ( const String prefix,
const String localName,
const String namespaceURI,
const SharedPtr< XmlDocument > &  doc 
)
protected

Initializes a new instance of the XmlElement class.

Parameters
prefixThe namespace prefix; see the XmlElement::get_Prefix method.
localNameThe local name; see the XmlElement::get_LocalName method.
namespaceURIThe namespace URI; see the XmlElement::get_NamespaceURI method.
docThe parent XML document.

◆ ~XmlElement()

virtual ASPOSECPP_SHARED_API System::Xml::XmlElement::~XmlElement ( )
protectedvirtual

Member Function Documentation

◆ CloneNode()

ASPOSECPP_SHARED_API SharedPtr<XmlNode> System::Xml::XmlElement::CloneNode ( bool  deep)
overridevirtual

Creates a duplicate of this node.

Parameters
deeptrue to recursively clone the subtree under the specified node; false to clone only the node itself (and its attributes if the node is an XmlElement).
Returns
The cloned node.

Implements System::Xml::XmlNode.

◆ get_HasAttributes()

virtual ASPOSECPP_SHARED_API bool System::Xml::XmlElement::get_HasAttributes ( )
virtual

Returns a bool value indicating whether the current node has any attributes.

Returns
true if the current node has attributes; otherwise, false.

◆ get_InnerText()

ASPOSECPP_SHARED_API String System::Xml::XmlElement::get_InnerText ( )
overridevirtual

Returns the concatenated values of the node and all its children.

Returns
The concatenated values of the node and all its children.

Reimplemented from System::Xml::XmlNode.

◆ get_InnerXml()

ASPOSECPP_SHARED_API String System::Xml::XmlElement::get_InnerXml ( )
overridevirtual

Returns the markup representing just the children of this node.

Returns
The markup of the children of this node.

Reimplemented from System::Xml::XmlNode.

◆ get_IsEmpty()

ASPOSECPP_SHARED_API bool System::Xml::XmlElement::get_IsEmpty ( )

Returns the tag format of the element.

Returns
true if the element is to be serialized in the short tag format "<tt><item/></tt>"; false for the long format "<tt><item></item></tt>".

◆ get_LocalName()

ASPOSECPP_SHARED_API String System::Xml::XmlElement::get_LocalName ( )
overridevirtual

Returns the local name of the current node.

Returns
The name of the current node with the prefix removed. For example, get_LocalName value is book for the element <bk:book>.

Implements System::Xml::XmlNode.

◆ get_Name()

ASPOSECPP_SHARED_API String System::Xml::XmlElement::get_Name ( )
overridevirtual

Returns the qualified name of the node.

Returns
The qualified name of the node. For XmlElement nodes, this is the tag name of the element.

Implements System::Xml::XmlNode.

◆ get_NamespaceURI()

ASPOSECPP_SHARED_API String System::Xml::XmlElement::get_NamespaceURI ( )
overridevirtual

Returns the namespace URI of this node.

Returns
The namespace URI of this node. If there is no namespace URI, this method returns String::Empty.

Reimplemented from System::Xml::XmlNode.

◆ get_NodeType()

ASPOSECPP_SHARED_API XmlNodeType System::Xml::XmlElement::get_NodeType ( )
overridevirtual

Returns the type of the current node.

Returns
The node type. For XmlElement nodes, this value is XmlNodeType::Element.

Implements System::Xml::XmlNode.

◆ get_OwnerDocument()

ASPOSECPP_SHARED_API SharedPtr<XmlDocument> System::Xml::XmlElement::get_OwnerDocument ( )
overridevirtual

Returns the XmlDocument to which this node belongs.

Returns
The XmlDocument to which this element belongs.

Reimplemented from System::Xml::XmlNode.

◆ get_Prefix()

ASPOSECPP_SHARED_API String System::Xml::XmlElement::get_Prefix ( )
overridevirtual

Returns the namespace prefix of this node.

Returns
The namespace prefix of this node. If there is no prefix, this method returns String::Empty.

Reimplemented from System::Xml::XmlNode.

◆ get_SchemaInfo()

ASPOSECPP_SHARED_API SharedPtr<Schema::IXmlSchemaInfo> System::Xml::XmlElement::get_SchemaInfo ( )
overridevirtual

Returns the post schema validation infoset that has been assigned to this node as a result of schema validation.

Returns
An IXmlSchemaInfo object containing the post schema validation infoset of this node.

Reimplemented from System::Xml::XmlNode.

◆ GetAttribute() [1/2]

virtual ASPOSECPP_SHARED_API String System::Xml::XmlElement::GetAttribute ( String  name)
virtual

Returns the value for the attribute with the specified name.

Parameters
nameThe name of the attribute to retrieve. This is a qualified name. It is matched against the get_Name value of the matching node.
Returns
The value of the specified attribute. An empty string is returned if a matching attribute is not found or if the attribute does not have a specified or default value.

◆ GetAttribute() [2/2]

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

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

Parameters
localNameThe local name of the attribute to retrieve.
namespaceURIThe namespace URI of the attribute to retrieve.
Returns
The value of the specified attribute. An empty string is returned if a matching attribute is not found or if the attribute does not have a specified or default value.

◆ GetAttributeNode() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlAttribute> System::Xml::XmlElement::GetAttributeNode ( String  name)
virtual

Returns the XmlAttribute with the specified name.

Parameters
nameThe name of the attribute to retrieve. This is a qualified name. It is matched against the get_Name value of the matching node.
Returns
The specified XmlAttribute or nullptr if a matching attribute was not found.

◆ GetAttributeNode() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlAttribute> System::Xml::XmlElement::GetAttributeNode ( String  localName,
String  namespaceURI 
)
virtual

Returns the XmlAttribute with the specified local name and namespace URI.

Parameters
localNameThe local name of the attribute.
namespaceURIThe namespace URI of the attribute.
Returns
The specified XmlAttribute or nullptr if a matching attribute was not found.

◆ GetElementsByTagName() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlNodeList> System::Xml::XmlElement::GetElementsByTagName ( String  name)
virtual

Returns an XmlNodeList containing a list of all descendant elements that match the specified XmlElement::get_Name.

Parameters
nameThe name tag to match. This is a qualified name. It is matched against the get_Name value of the matching node. The asterisk (*) is a special value that matches all tags.
Returns
An XmlNodeList containing a list of all matching nodes. The list is empty if there are no matching nodes.

◆ GetElementsByTagName() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlNodeList> System::Xml::XmlElement::GetElementsByTagName ( String  localName,
String  namespaceURI 
)
virtual

Returns an XmlNodeList containing a list of all descendant elements that match the specified XmlElement::get_LocalName and XmlElement::get_NamespaceURI values.

Parameters
localNameThe local name to match. The asterisk (*) is a special value that matches all tags.
namespaceURIThe namespace URI to match.
Returns
An XmlNodeList containing a list of all matching nodes. The list is empty if there are no matching nodes.

◆ HasAttribute() [1/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XmlElement::HasAttribute ( String  name)
virtual

Determines whether the current node has an attribute with the specified name.

Parameters
nameThe name of the attribute to find. This is a qualified name. It is matched against the get_Name value of the matching node.
Returns
true if the current node has the specified attribute; otherwise, false.

◆ HasAttribute() [2/2]

virtual ASPOSECPP_SHARED_API bool System::Xml::XmlElement::HasAttribute ( String  localName,
String  namespaceURI 
)
virtual

Determines whether the current node has an attribute with the specified local name and namespace URI.

Parameters
localNameThe local name of the attribute to find.
namespaceURIThe namespace URI of the attribute to find.
Returns
true if the current node has the specified attribute; otherwise, false.

◆ MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION()

ASPOSECPP_SHARED_API System::Xml::XmlElement::MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION ( XmlElement  ,
CODEPORTING_ARGS(const String &prefix, const String &localName, const String &namespaceURI, const SharedPtr< XmlDocument > &doc)   
)
protected

◆ RemoveAll()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::RemoveAll ( )
overridevirtual

Removes all specified attributes and children of the current node. Default attributes are not removed.

Reimplemented from System::Xml::XmlNode.

◆ RemoveAllAttributes()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlElement::RemoveAllAttributes ( )
virtual

Removes all specified attributes from the element. Default attributes are not removed.

◆ RemoveAttribute() [1/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlElement::RemoveAttribute ( String  name)
virtual

Removes an attribute by name.

Parameters
nameThe name of the attribute to remove. This is a qualified name. It is matched against the get_Name value of the matching node.
Exceptions
ArgumentExceptionThe node is read-only.

◆ RemoveAttribute() [2/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlElement::RemoveAttribute ( String  localName,
String  namespaceURI 
)
virtual

Removes an attribute with the specified local name and namespace URI. (If the removed attribute has a default value, it is immediately replaced).

Parameters
localNameThe local name of the attribute to remove.
namespaceURIThe namespace URI of the attribute to remove.
Exceptions
ArgumentExceptionThe node is read-only.

◆ RemoveAttributeAt()

virtual ASPOSECPP_SHARED_API SharedPtr<XmlNode> System::Xml::XmlElement::RemoveAttributeAt ( int32_t  i)
virtual

Removes the attribute node with the specified index from the element. (If the removed attribute has a default value, it is immediately replaced).

Parameters
iThe index of the node to remove. The first node has index 0.
Returns
The attribute node removed or nullptr if there is no node at the given index.

◆ RemoveAttributeNode() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlAttribute> System::Xml::XmlElement::RemoveAttributeNode ( SharedPtr< XmlAttribute oldAttr)
virtual

Removes the specified XmlAttribute.

Parameters
oldAttrThe XmlAttribute node to remove. If the removed attribute has a default value, it is immediately replaced.
Returns
The removed XmlAttribute or nullptr if oldAttr is not an attribute node of the XmlElement.
Exceptions
ArgumentExceptionThis node is read-only.

◆ RemoveAttributeNode() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlAttribute> System::Xml::XmlElement::RemoveAttributeNode ( String  localName,
String  namespaceURI 
)
virtual

Removes the XmlAttribute specified by the local name and namespace URI. (If the removed attribute has a default value, it is immediately replaced).

Parameters
localNameThe local name of the attribute.
namespaceURIThe namespace URI of the attribute.
Returns
The removed XmlAttribute or nullptr if the XmlElement does not have a matching attribute node.
Exceptions
ArgumentExceptionThis node is read-only.

◆ set_InnerText()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::set_InnerText ( String  value)
overridevirtual

Sets the concatenated values of the node and all its children.

Parameters
valueThe value to set.

Reimplemented from System::Xml::XmlNode.

◆ set_InnerXml()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::set_InnerXml ( String  value)
overridevirtual

Sets the markup representing just the children of this node.

Parameters
valueThe value to set.
Exceptions
XmlExceptionThe XML specified when setting this value is not well-formed.

Reimplemented from System::Xml::XmlNode.

◆ set_IsEmpty()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::set_IsEmpty ( bool  value)

Sets the tag format of the element.

Parameters
valueThe value to set. When setting this value, if set to true, the children of the element are removed and the element is serialized in the short tag format. If set to false, the value is changed (regardless of whether or not the element has content); if the element is empty, it is serialized in the long format.

◆ set_Prefix()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::set_Prefix ( String  value)
overridevirtual

Sets the namespace prefix of this node.

Parameters
valueThe value to set.
Exceptions
ArgumentExceptionThis node is read-only.
XmlExceptionThe specified prefix contains an invalid character. The specified prefix is malformed. The namespaceURI of this node is nullptr. The specified prefix is "xml" and the namespaceURI of this node is different from http://www.w3.org/XML/1998/namespace.

Reimplemented from System::Xml::XmlNode.

◆ SetAttribute() [1/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlElement::SetAttribute ( String  name,
String  value 
)
virtual

Sets the value of the attribute with the specified name.

Parameters
nameThe name of the attribute to create or alter. This is a qualified name. If the name contains a colon it is parsed into prefix and local name components.
valueThe value to set for the attribute.
Exceptions
XmlExceptionThe specified name contains an invalid character.
ArgumentExceptionThe node is read-only.

◆ SetAttribute() [2/2]

virtual ASPOSECPP_SHARED_API String System::Xml::XmlElement::SetAttribute ( String  localName,
String  namespaceURI,
String  value 
)
virtual

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

Parameters
localNameThe local name of the attribute.
namespaceURIThe namespace URI of the attribute.
valueThe value to set for the attribute.
Returns
The attribute value.

◆ SetAttributeNode() [1/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlAttribute> System::Xml::XmlElement::SetAttributeNode ( SharedPtr< XmlAttribute newAttr)
virtual

Adds the specified XmlAttribute.

Parameters
newAttrThe XmlAttribute node to add to the attribute collection for this element.
Returns
If the attribute replaces an existing attribute with the same name, the old XmlAttribute is returned; otherwise, nullptr is returned.
Exceptions
ArgumentExceptionThe newAttr was created from a different document than the one that created this node. Or this node is read-only.
InvalidOperationExceptionThe newAttr is already an attribute of another XmlElement object. You must explicitly clone XmlAttribute nodes to re-use them in other XmlElement objects.

◆ SetAttributeNode() [2/2]

virtual ASPOSECPP_SHARED_API SharedPtr<XmlAttribute> System::Xml::XmlElement::SetAttributeNode ( String  localName,
String  namespaceURI 
)
virtual

Adds the specified XmlAttribute.

Parameters
localNameThe local name of the attribute.
namespaceURIThe namespace URI of the attribute.
Returns
The XmlAttribute to add.

◆ WriteContentTo()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::WriteContentTo ( const SharedPtr< XmlWriter > &  w)
overridevirtual

Saves all the children of the node to the specified XmlWriter.

Parameters
wThe XmlWriter to which you want to save.

Implements System::Xml::XmlNode.

◆ WriteTo()

ASPOSECPP_SHARED_API void System::Xml::XmlElement::WriteTo ( const SharedPtr< XmlWriter > &  w)
overridevirtual

Saves the current node to the specified XmlWriter.

Parameters
wThe XmlWriter to which you want to save.

Implements System::Xml::XmlNode.