TiXmlVisitor

class TiXmlVisitor

Implements the interface to the “Visitor pattern” (see the Accept() method.) If you call the Accept() method, it requires being passed a TiXmlVisitor class to handle callbacks. For nodes that contain other nodes (Document, Element) you will get called with a VisitEnter/VisitExit pair. Nodes that are always leaves are simply called with Visit().

If you return ‘true’ from a Visit method, recursive parsing will continue. If you return false, no children of this node or its sibilings will be Visited.

All flavors of Visit methods have a default implementation that returns ‘true’ (continue visiting). You need to only override methods that are interesting to you.

Generally Accept() is called on the TiXmlDocument, although all nodes suppert Visiting.

You should never change the document from a callback.

See also TiXmlNode::Accept().

Inheritance diagram

Inheritance diagram of TiXmlVisitor

virtual bool Visit(TiXmlDeclaration const&)
virtual bool Visit(TiXmlText const&)
virtual bool Visit(TiXmlComment const&)
virtual bool Visit(TiXmlUnknown const&)

/declaration/

/text/

/comment/

/unknown/

virtual bool VisitEnter(TiXmlDocument const&)
virtual bool VisitEnter(TiXmlElement const&, TiXmlAttribute const*)

/doc/

/firstAttribute/

virtual bool VisitExit(TiXmlDocument const&)
virtual bool VisitExit(TiXmlElement const&)

/doc/

/element/

TiXmlVisitor(void) = default
TiXmlVisitor(TiXmlVisitor const&) = default