Urho3D
|
Element in an XML file. More...
#include </home/runner/work/urho3d-doxygen.github.io/urho3d-doxygen.github.io/urho3d_repo/Source/Urho3D/Resource/XMLElement.h>
Public Member Functions | |
XMLElement () | |
Construct null element. | |
XMLElement (XMLFile *file, pugi::xml_node_struct *node) | |
Construct with document and node pointers. | |
XMLElement (XMLFile *file, const XPathResultSet *resultSet, const pugi::xpath_node *xpathNode, i32 xpathResultIndex) | |
Construct from xpath query result set. | |
XMLElement (const XMLElement &rhs) | |
Copy-construct from another element. | |
~XMLElement () | |
Destruct. | |
XMLElement & | operator= (const XMLElement &rhs) |
Assignment operator. | |
XMLElement | CreateChild (const String &name) |
Create a child element. | |
XMLElement | CreateChild (const char *name) |
Create a child element. | |
XMLElement | GetOrCreateChild (const String &name) |
Return the first child element with name or create if does not exist. | |
XMLElement | GetOrCreateChild (const char *name) |
Return the first child element with name or create if does not exist. | |
bool | AppendChild (XMLElement element, bool asCopy=false) |
Append element. If asCopy is set to true then original element is copied and appended, otherwise specified element is appended. | |
bool | Remove () |
Remove element from its parent. | |
bool | RemoveChild (const XMLElement &element) |
Remove a child element. Return true if successful. | |
bool | RemoveChild (const String &name) |
Remove a child element by name. Return true if successful. | |
bool | RemoveChild (const char *name) |
Remove a child element by name. Return true if successful. | |
bool | RemoveChildren (const String &name=String::EMPTY) |
Remove child elements of certain name, or all child elements if name is empty. Return true if successful. | |
bool | RemoveChildren (const char *name) |
Remove child elements of certain name, or all child elements if name is empty. Return true if successful. | |
bool | RemoveAttribute (const String &name=String::EMPTY) |
Remove an attribute by name. Return true if successful. | |
bool | RemoveAttribute (const char *name) |
Remove an attribute by name. Return true if successful. | |
XMLElement | SelectSingle (const String &query, pugi::xpath_variable_set *variables=nullptr) const |
Select an element/attribute using XPath query. | |
XMLElement | SelectSinglePrepared (const XPathQuery &query) const |
Select an element/attribute using XPath query. | |
XPathResultSet | Select (const String &query, pugi::xpath_variable_set *variables=nullptr) const |
Select elements/attributes using XPath query. | |
XPathResultSet | SelectPrepared (const XPathQuery &query) const |
Select elements/attributes using XPath query. | |
bool | SetValue (const String &value) |
Set the value for an inner node in the following format <node>value</node>. | |
bool | SetValue (const char *value) |
Set the value for an inner node in the following format <node>value</node>. Must be used on the <node> element. | |
bool | SetAttribute (const String &name, const String &value) |
Set an attribute. | |
bool | SetAttribute (const char *name, const char *value) |
Set an attribute. | |
bool | SetAttribute (const String &value) |
Set an attribute. Only valid if it is an attribute only XPath query result. | |
bool | SetAttribute (const char *value) |
Set an attribute. Only valid if it is an attribute only XPath query result. | |
bool | SetBool (const String &name, bool value) |
Set a bool attribute. | |
bool | SetBoundingBox (const BoundingBox &value) |
Set a BoundingBox attribute. | |
bool | SetBuffer (const String &name, const void *data, i32 size) |
Set a buffer attribute. | |
bool | SetBuffer (const String &name, const Vector< unsigned char > &value) |
Set a buffer attribute. | |
bool | SetColor (const String &name, const Color &value) |
Set a color attribute. | |
bool | SetFloat (const String &name, float value) |
Set a float attribute. | |
bool | SetDouble (const String &name, double value) |
Set a double attribute. | |
bool | SetU32 (const String &name, u32 value) |
Set an unsigned integer attribute. | |
bool | SetI32 (const String &name, i32 value) |
Set an integer attribute. | |
bool | SetU64 (const String &name, u64 value) |
Set an unsigned long long integer attribute. | |
bool | SetI64 (const String &name, i64 value) |
Set a long long integer attribute. | |
bool | SetIntRect (const String &name, const IntRect &value) |
Set an IntRect attribute. | |
bool | SetIntVector2 (const String &name, const IntVector2 &value) |
Set an IntVector2 attribute. | |
bool | SetIntVector3 (const String &name, const IntVector3 &value) |
Set an IntVector3 attribute. | |
bool | SetRect (const String &name, const Rect &value) |
Set a Rect attribute. | |
bool | SetQuaternion (const String &name, const Quaternion &value) |
Set a quaternion attribute. | |
bool | SetString (const String &name, const String &value) |
Set a string attribute. | |
bool | SetVariant (const Variant &value) |
Set a variant attribute. | |
bool | SetVariantValue (const Variant &value) |
Set a variant attribute excluding the type. | |
bool | SetResourceRef (const ResourceRef &value) |
Set a resource reference attribute. | |
bool | SetResourceRefList (const ResourceRefList &value) |
Set a resource reference list attribute. | |
bool | SetVariantVector (const VariantVector &value) |
Set a variant vector attribute. Creates child elements as necessary. | |
bool | SetStringVector (const StringVector &value) |
Set a string vector attribute. Creates child elements as necessary. | |
bool | SetVariantMap (const VariantMap &value) |
Set a variant map attribute. Creates child elements as necessary. | |
bool | SetVector2 (const String &name, const Vector2 &value) |
Set a Vector2 attribute. | |
bool | SetVector3 (const String &name, const Vector3 &value) |
Set a Vector3 attribute. | |
bool | SetVector4 (const String &name, const Vector4 &value) |
Set a Vector4 attribute. | |
bool | SetVectorVariant (const String &name, const Variant &value) |
Set a float, Vector or Matrix attribute stored in a variant. | |
bool | SetMatrix3 (const String &name, const Matrix3 &value) |
Set a Matrix3 attribute. | |
bool | SetMatrix3x4 (const String &name, const Matrix3x4 &value) |
Set a Matrix3x4 attribute. | |
bool | SetMatrix4 (const String &name, const Matrix4 &value) |
Set a Matrix4 attribute. | |
bool | IsNull () const |
Return whether does not refer to an element or an XPath node. | |
bool | NotNull () const |
Return whether refers to an element or an XPath node. | |
operator bool () const | |
Return true if refers to an element or an XPath node. | |
String | GetName () const |
Return element name (or attribute name if it is an attribute only XPath query result). | |
bool | HasChild (const String &name) const |
Return whether has a child element. | |
bool | HasChild (const char *name) const |
Return whether has a child element. | |
XMLElement | GetChild (const String &name=String::EMPTY) const |
Return child element, or null if missing. | |
XMLElement | GetChild (const char *name) const |
Return child element, or null if missing. | |
XMLElement | GetNext (const String &name=String::EMPTY) const |
Return next sibling element. | |
XMLElement | GetNext (const char *name) const |
Return next sibling element. | |
XMLElement | GetParent () const |
Return parent element. | |
i32 | GetNumAttributes () const |
Return number of attributes. | |
bool | HasAttribute (const String &name) const |
Return whether has an attribute. | |
bool | HasAttribute (const char *name) const |
Return whether has an attribute. | |
String | GetValue () const |
Return inner value, or empty if missing for nodes like <node>value</node>. | |
String | GetAttribute (const String &name=String::EMPTY) const |
Return attribute, or empty if missing. | |
String | GetAttribute (const char *name) const |
Return attribute, or empty if missing. | |
const char * | GetAttributeCString (const char *name) const |
Return attribute as C string, or null if missing. | |
String | GetAttributeLower (const String &name) const |
Return attribute in lowercase, or empty if missing. | |
String | GetAttributeLower (const char *name) const |
Return attribute in lowercase, or empty if missing. | |
String | GetAttributeUpper (const String &name) const |
Return attribute in lowercase, or empty if missing. | |
String | GetAttributeUpper (const char *name) const |
Return attribute in lowercase, or empty if missing. | |
Vector< String > | GetAttributeNames () const |
Return names of all attributes. | |
bool | GetBool (const String &name) const |
Return bool attribute, or false if missing. | |
Vector< byte > | GetBuffer (const String &name) const |
Return buffer attribute, or empty if missing. | |
bool | GetBuffer (const String &name, void *dest, i32 size) const |
Copy buffer attribute into a supplied buffer. Return true if buffer was large enough. | |
BoundingBox | GetBoundingBox () const |
Return bounding box attribute, or empty if missing. | |
Color | GetColor (const String &name) const |
Return a color attribute, or default if missing. | |
float | GetFloat (const String &name) const |
Return a float attribute, or zero if missing. | |
double | GetDouble (const String &name) const |
Return a double attribute, or zero if missing. | |
u32 | GetU32 (const String &name) const |
Return an unsigned integer attribute, or zero if missing. | |
i32 | GetI32 (const String &name) const |
Return an integer attribute, or zero if missing. | |
u64 | GetU64 (const String &name) const |
Return an unsigned long long integer attribute, or zero if missing. | |
i64 | GetI64 (const String &name) const |
Return a long long integer attribute, or zero if missing. | |
IntRect | GetIntRect (const String &name) const |
Return an IntRect attribute, or default if missing. | |
IntVector2 | GetIntVector2 (const String &name) const |
Return an IntVector2 attribute, or default if missing. | |
IntVector3 | GetIntVector3 (const String &name) const |
Return an IntVector3 attribute, or default if missing. | |
Rect | GetRect (const String &name) const |
Return a Rect attribute, or default if missing. | |
Quaternion | GetQuaternion (const String &name) const |
Return a quaternion attribute, or default if missing. | |
Variant | GetVariant () const |
Return a variant attribute, or empty if missing. | |
Variant | GetVariantValue (VariantType type) const |
Return a variant attribute with static type. | |
ResourceRef | GetResourceRef () const |
Return a resource reference attribute, or empty if missing. | |
ResourceRefList | GetResourceRefList () const |
Return a resource reference list attribute, or empty if missing. | |
VariantVector | GetVariantVector () const |
Return a variant vector attribute, or empty if missing. | |
StringVector | GetStringVector () const |
Return a string vector attribute, or empty if missing. | |
VariantMap | GetVariantMap () const |
Return a variant map attribute, or empty if missing. | |
Vector2 | GetVector2 (const String &name) const |
Return a Vector2 attribute, or zero vector if missing. | |
Vector3 | GetVector3 (const String &name) const |
Return a Vector3 attribute, or zero vector if missing. | |
Vector4 | GetVector4 (const String &name) const |
Return a Vector4 attribute, or zero vector if missing. | |
Vector4 | GetVector (const String &name) const |
Return any Vector attribute as Vector4. Missing coordinates will be zero. | |
Variant | GetVectorVariant (const String &name) const |
Return a float, Vector or Matrix attribute as Variant. | |
Matrix3 | GetMatrix3 (const String &name) const |
Return a Matrix3 attribute, or zero matrix if missing. | |
Matrix3x4 | GetMatrix3x4 (const String &name) const |
Return a Matrix3x4 attribute, or zero matrix if missing. | |
Matrix4 | GetMatrix4 (const String &name) const |
Return a Matrix4 attribute, or zero matrix if missing. | |
XMLFile * | GetFile () const |
Return XML file. | |
pugi::xml_node_struct * | GetNode () const |
Return pugixml xml_node_struct. | |
const XPathResultSet * | GetXPathResultSet () const |
Return XPath query result set. | |
const pugi::xpath_node * | GetXPathNode () const |
Return pugixml xpath_node. | |
i32 | GetXPathResultIndex () const |
Return current result index. | |
XMLElement | NextResult () const |
Return next XPath query result. Only valid when this instance of XMLElement is itself one of the query result in the result set. | |
Static Public Attributes | |
static const XMLElement | EMPTY |
Empty XMLElement. | |
Private Attributes | |
WeakPtr< XMLFile > | file_ |
XML file. | |
pugi::xml_node_struct * | node_ |
Pugixml node. | |
const XPathResultSet * | xpathResultSet_ |
XPath query result set. | |
const pugi::xpath_node * | xpathNode_ |
Pugixml xpath_node. | |
i32 | xpathResultIndex_ |
Current XPath query result index (used internally to advance to subsequent query result). | |
Element in an XML file.