Main Page Class Hierarchy Compound List File List Compound Members

# TiXmlNode Class Reference

The parent class for everything in the Document Object Model. More...

`#include <tinyxml.h>`

Inheritance diagram for TiXmlNode::

List of all members.

## Public Types

enum | NodeType
| The types of XML nodes supported by TinyXml. More...

## Public Methods

const std::string & | Value () const
| The meaning of 'value' changes for the specific type of TiXmlNode. More...
void | SetValue (const std::string &_value)
| Changes the value of the node. More...
void | Clear ()
| Delete all the children of this node. Does not affect 'this'.
TiXmlNode * | Parent () const
| One step up the DOM.
TiXmlNode * | FirstChild () const
| The first child of this node. Will be null if there are no children.
TiXmlNode * | FirstChild (const std::string &value) const
| The first child of this node with the matching 'value'. Will be null if none found.
TiXmlNode * | LastChild (const std::string &value) const
| The last child of this node. Will be null if there are no children.
TiXmlNode * | IterateChildren (TiXmlNode *previous)
| An alternate way to walk the children of a node. More...
TiXmlNode * | IterateChildren (const std::string &value, TiXmlNode *previous)
| This flavor of IterateChildren searches for children with a particular 'value'.
TiXmlNode * | InsertEndChild (const TiXmlNode &addThis)
| Add a new node related to this. More...
TiXmlNode * | InsertBeforeChild (TiXmlNode *beforeThis, const TiXmlNode &addThis)
| Add a new node related to this. More...
TiXmlNode * | InsertAfterChild (TiXmlNode *afterThis, const TiXmlNode &addThis)
| Add a new node related to this. More...
TiXmlNode * | ReplaceChild (TiXmlNode *replaceThis, const TiXmlNode &withThis)
| Replace a child of this node. More...
bool | RemoveChild (TiXmlNode *removeThis)
| Delete a child of this node.
TiXmlNode * | PreviousSibling () const
| Navigate to a sibling node.
TiXmlNode * | PreviousSibling (const std::string &) const
| Navigate to a sibling node.
TiXmlNode * | NextSibling () const
| Navigate to a sibling node.
TiXmlNode * | NextSibling (const std::string &) const
| Navigate to a sibling node with the given 'value'.
TiXmlElement * | NextSiblingElement () const
| Convenience function to get through elements. More...
TiXmlElement * | NextSiblingElement (const std::string &) const
| Convenience function to get through elements. More...
TiXmlElement * | FirstChildElement () const
| Convenience function to get through elements.
TiXmlElement * | FirstChildElement (const std::string &value) const
| Convenience function to get through elements.
virtual int | Type ()
| Query the type (as an enumerated value, above) of this node.
TiXmlDocument * | GetDocument () const
| Return a pointer to the Document this node lives in. More...
TiXmlDocument * | ToDocument () const
| Cast to a more defined type. Will return null not of the requested type.
TiXmlElement * | ToElement () const
| Cast to a more defined type. Will return null not of the requested type.
TiXmlComment * | ToComment () const
| Cast to a more defined type. Will return null not of the requested type.
TiXmlUnknown * | ToUnknown () const
| Cast to a more defined type. Will return null not of the requested type.
TiXmlText * | ToText () const
| Cast to a more defined type. Will return null not of the requested type.
TiXmlDeclaration * | ToDeclaration () const
| Cast to a more defined type. Will return null not of the requested type.

## Detailed Description

The parent class for everything in the Document Object Model.

(Except for attributes, which are contained in elements.) Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a TyXmlNode can be queried, and it can be cast to its more defined type.

## Member Enumeration Documentation

enum TiXmlNode::NodeType

| The types of XML nodes supported by TinyXml. (All the unsupported types are picked up by UNKNOWN.)

## Member Function Documentation

TiXmlDocument* TiXmlNode::GetDocument | ( |  | ) | const

| Return a pointer to the Document this node lives in. Returns null if not in a document.

TiXmlNode* TiXmlNode::InsertAfterChild | ( | TiXmlNode * | afterThis,
|  | const TiXmlNode & | addThis
| ) |

| Add a new node related to this. Adds a child after the specified child. Returns a pointer to the new object or NULL if an error occured.

TiXmlNode* TiXmlNode::InsertBeforeChild | ( | TiXmlNode * | beforeThis,
|  | const TiXmlNode & | addThis
| ) |

| Add a new node related to this. Adds a child before the specified child. Returns a pointer to the new object or NULL if an error occured.

TiXmlNode* TiXmlNode::InsertEndChild | ( | const TiXmlNode & | addThis | ) |

| Add a new node related to this. Adds a child past the LastChild. Returns a pointer to the new object or NULL if an error occured.

TiXmlNode* TiXmlNode::IterateChildren | ( | TiXmlNode * | previous | ) |

An alternate way to walk the children of a node.

One way to iterate over nodes is:

                for( child = parent->FirstChild(); child; child = child->NextSibling() )

IterateChildren does the same thing with the syntax:

                child = 0;
                while( child = parent->IterateChildren( child ) )

IterateChildren takes the previous child as input and finds the next one. If the previous child is null, it returns the first. IterateChildren will return null when done.

TiXmlElement* TiXmlNode::NextSiblingElement | ( | const std::string & |  | ) | const

| Convenience function to get through elements. Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.

TiXmlElement* TiXmlNode::NextSiblingElement | ( |  | ) | const

| Convenience function to get through elements. Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.

TiXmlNode* TiXmlNode::ReplaceChild | ( | TiXmlNode * | replaceThis,
|  | const TiXmlNode & | withThis
| ) |

| Replace a child of this node. Returns a pointer to the new object or NULL if an error occured.

void TiXmlNode::SetValue | ( | const std::string & | _value | ) | `[inline]`

Changes the value of the node.

Defined as:

            Document:   filename of the xml file
            Element:    name of the element
            Comment:    the comment text
            Unknown:    the tag contents
            Text:       the text string

const std::string& TiXmlNode::Value | ( |  | ) | const`[inline]`

The meaning of 'value' changes for the specific type of TiXmlNode.

            Document:   filename of the xml file
            Element:    name of the element
            Comment:    the comment text
            Unknown:    the tag contents
            Text:       the text string

The subclasses will wrap this function.

The documentation for this class was generated from the following file:

- tinyxml.h