TiXmlElement

class TiXmlElement

Bases: TiXmlNode

The element is a container class. It has a value, the element name, and can contain other elements, text, comments, and unknowns. Elements also contain an arbitrary number of attributes.

Inheritance diagram

Inheritance diagram of TiXmlElement

char const *Attribute(char const *name) const
char const *Attribute(char const *name, int *i) const
char const *Attribute(char const *name, double *d) const
std::string const *Attribute(std::string const &name) const
std::string const *Attribute(std::string const &name, int *i) const
std::string const *Attribute(std::string const &name, double *d) const

Given an attribute name, Attribute() returns the value for the attribute of that name, or null if none exists.

Given an attribute name, Attribute() returns the value for the attribute of that name, or null if none exists. If the attribute exists and can be converted to an integer, the integer value will be put in the return ‘i’, if ‘i’ is non-null.

Given an attribute name, Attribute() returns the value for the attribute of that name, or null if none exists. If the attribute exists and can be converted to an double, the double value will be put in the return ‘d’, if ‘d’ is non-null.

TiXmlAttribute const *FirstAttribute(void) const
TiXmlAttribute *FirstAttribute(void)

///< Access the first attribute in this element.

char const *GetText(void) const

Convenience function for easy access to the text inside an element. Although easy and concise, GetText() is limited compared to getting the TiXmlText child and accessing it directly.

If the first child of ‘this’ is a TiXmlText, the GetText() returns the character string of the Text node, else null is returned.

This is a convenient method for getting the text of simple contained text:

<foo>This is text</foo>
const char* str = fooElement->GetText();

‘str’ will be a pointer to “This is text”.

Note that this function can be misleading. If the element foo was created from this XML:

<foo><b>This is text</b></foo>

then the value of str would be null. The first child node isn’t a text node, it is another element. From this XML:

<foo>This is <b>text</b></foo>

GetText() will return “This is “.

WARNING: GetText() accesses a child node - don’t become confused with the similarly named TiXmlHandle::Text() and TiXmlNode::ToText() which are safe type casts on the referenced node.

TiXmlAttribute const *LastAttribute(void) const
TiXmlAttribute *LastAttribute(void)

///< Access the last attribute in this element.

int QueryDoubleAttribute(char const *name, double *_value) const
int QueryDoubleAttribute(std::string const &name, double *_value) const

/// QueryDoubleAttribute examines the attribute - see QueryIntAttribute().

int QueryFloatAttribute(char const *name, float *_value) const

/// QueryFloatAttribute examines the attribute - see QueryIntAttribute().

int QueryIntAttribute(char const *name, int *_value) const
int QueryIntAttribute(std::string const &name, int *_value) const

QueryIntAttribute examines the attribute - it is an alternative to the Attribute() method with richer error checking. If the attribute is an integer, it is stored in ‘value’ and the call returns TIXML_SUCCESS. If it is not an integer, it returns TIXML_WRONG_TYPE. If the attribute does not exist, then TIXML_NO_ATTRIBUTE is returned.

int QueryStringAttribute(char const *name, std::string *_value) const

/// QueryStringAttribute examines the attribute - see QueryIntAttribute().

int QueryValueAttribute(std::string const &name, std::string *outValue) const
void RemoveAttribute(char const *name)
void RemoveAttribute(std::string const &name)

Deletes an attribute with the given name.

STL std::string form.

void SetAttribute(char const *name, char const *_value)
void SetAttribute(std::string const &name, std::string const &_value)
void SetAttribute(std::string const &name, int _value)
void SetAttribute(char const *name, int value)

Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does.

STL std::string form.

STL std::string form.

Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does.

void SetDoubleAttribute(std::string const &name, double value)
void SetDoubleAttribute(char const *name, double value)

///< STL std::string form.

/** Sets an attribute of name to a given value. The attribute

will be created if it does not exist, or changed if it does.

*/

TiXmlElement(char const *in_value)
TiXmlElement(std::string const &_value)
TiXmlElement(TiXmlElement const&)

/// Construct an element.

/// std::string constructor.