Main Page   Class Hierarchy   Compound List   Header Files   Compound Members  

TiXmlNode Class Reference

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

#include <tinyxml.h>

Class diagram for TiXmlNode:

TiXmlBase TiXmlUnknown TiXmlText TiXmlElement TiXmlDocument TiXmlDeclaration TiXmlComment

List of all members.


Public Members

enum  NodeType { DOCUMENT, ELEMENT, COMMENT, UNKNOWN, TEXT, DECLARATION, TYPECOUNT }
The types of XML nodes supported by TinyXml. More...

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

TiXmlElementNextSiblingElement () const
Convenience function to get through elements. More...

TiXmlElementNextSiblingElement ( const std::string& ) const
Convenience function to get through elements. More...

TiXmlElementFirstChildElement () const
Convenience function to get through elements.

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

TiXmlDocumentGetDocument () const
Return a pointer to the Document this node lives in. More...

TiXmlDocumentToDocument () const
Cast to a more defined type. Will return null not of the requested type.

TiXmlElementToElement () const
Cast to a more defined type. Will return null not of the requested type.

TiXmlCommentToComment () const
Cast to a more defined type. Will return null not of the requested type.

TiXmlUnknownToUnknown () const
Cast to a more defined type. Will return null not of the requested type.

TiXmlTextToText () const
Cast to a more defined type. Will return null not of the requested type.

TiXmlDeclarationToDeclaration () 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

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
        @endverbatim

        The subclasses will wrap this function.

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
        @endverbatim

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() )
        @endverbatim

        IterateChildren does the same thing with the syntax:
        \verbatim
            child = 0;
            while( child = parent->IterateChildren( child ) )
        @endverbatim

        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.

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

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.

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.

TiXmlDocument * TiXmlNode::GetDocument () const

Return a pointer to the Document this node lives in.

Returns null if not in a document.


The documentation for this class was generated from the following file:
  • tinyxml.h

Generated at Thu Jul 19 21:00:18 2001 for TinyXml by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999