class TiXmlPrinter

Bases: TiXmlVisitor

Print to memory functionality. The TiXmlPrinter is useful when you need to:

-# Print to memory (especially in non-STL mode) -# Control formatting (line endings, etc.)

When constructed, the TiXmlPrinter is in its default “pretty printing” mode. Before calling Accept() you can call methods to control the printing of the XML document. After TiXmlNode::Accept() is called, the printed document can be accessed via the CStr(), Str(), and Size() methods.

TiXmlPrinter uses the Visitor API.

TiXmlPrinter printer;
printer.SetIndent( "\t" );

doc.Accept( &printer );
fprintf( stdout, "%s", printer.CStr() );

Inheritance diagram

Inheritance diagram of TiXmlPrinter

char const *CStr(void)

/// Return the result.

char const *Indent(void)

/// Query the indention string.

char const *LineBreak(void)

/// Query the current line breaking string.

void SetIndent(char const *_indent)

Set the indent characters for printing. By default 4 spaces but tab (t) is also useful, or null/empty string for no indentation.

void SetLineBreak(char const *_lineBreak)

Set the line breaking string. By default set to newline (n). Some operating systems prefer other characters, or can be set to the null/empty string for no indenation.

void SetStreamPrinting(void)

Switch over to “stream printing” which is the most dense formatting without linebreaks. Common when the XML is needed for network transmission.

std::size_t Size(void)

/// Return the length of the result string.

std::string const &Str(void)

/// Return the result.

TiXmlPrinter(TiXmlPrinter const&) = default