Panda3D

Public Member Functions | List of all members
TiXmlPrinter Class Reference

Print to memory functionality. More...

`#include "tinyxml.h"`

Inheritance diagram for TiXmlPrinter:

## Public Member Functions
const char * | CStr ()
| Return the result. More...
const char * | Indent ()
| Query the indention string. More...
const char * | LineBreak ()
| Query the current line breaking string. More...
void | SetIndent (const char *_indent)
| Set the indent characters for printing. More...
void | SetLineBreak (const char *_lineBreak)
| Set the line breaking string. More...
void | SetStreamPrinting ()
| Switch over to "stream printing" which is the most dense formatting without linebreaks. More...
size_t | Size ()
| Return the length of the result string. More...
virtual bool | Visit (const TiXmlComment &comment)
| Visit a comment node. More...
virtual bool | Visit (const TiXmlDeclaration &declaration)
| Visit a declaration. More...
virtual bool | Visit (const TiXmlText &text)
| Visit a text node. More...
virtual bool | Visit (const TiXmlUnknown &unknown)
| Visit an unknow node. More...
virtual bool | VisitEnter (const TiXmlDocument &doc)
| Visit a document. More...
virtual bool | VisitEnter (const TiXmlElement &element, const TiXmlAttribute *firstAttribute)
| Visit an element. More...
virtual bool | VisitExit (const TiXmlDocument &doc)
| Visit a document. More...
virtual bool | VisitExit (const TiXmlElement &element)
| Visit an element. More...

## Detailed Description

Print to memory functionality.

The TiXmlPrinter is useful when you need to:

1. Print to memory (especially in non-STL mode)
2. 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() );

Definition at line 1730 of file tinyxml.h.

## Member Function Documentation

## ◆ CStr()

const char* TiXmlPrinter::CStr | ( |  | ) |
| inline

Return the result.

Definition at line 1768 of file tinyxml.h.

## ◆ Indent()

const char* TiXmlPrinter::Indent | ( |  | ) |
| inline

Query the indention string.

Definition at line 1752 of file tinyxml.h.

## ◆ LineBreak()

const char* TiXmlPrinter::LineBreak | ( |  | ) |
| inline

Query the current line breaking string.

Definition at line 1759 of file tinyxml.h.

## ◆ SetIndent()

void TiXmlPrinter::SetIndent | ( | const char * | _indent | ) |
| inline

Set the indent characters for printing.

By default 4 spaces but tab (\t) is also useful, or null/empty string for no indentation.

Definition at line 1750 of file tinyxml.h.

## ◆ SetLineBreak()

void TiXmlPrinter::SetLineBreak | ( | const char * | _lineBreak | ) |
| inline

Set the line breaking string.

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

Definition at line 1757 of file tinyxml.h.

## ◆ SetStreamPrinting()

void TiXmlPrinter::SetStreamPrinting | ( |  | ) |
| inline

Switch over to "stream printing" which is the most dense formatting without linebreaks.

Common when the XML is needed for network transmission.

Definition at line 1764 of file tinyxml.h.

## ◆ Size()

size_t TiXmlPrinter::Size | ( |  | ) |
| inline

Return the length of the result string.

Definition at line 1770 of file tinyxml.h.

## ◆ Visit() [1/4]

bool TiXmlPrinter::Visit | ( | const TiXmlComment & |  | ) |
| virtual

Visit a comment node.

Reimplemented from TiXmlVisitor.

Definition at line 1841 of file tinyxml.cpp.

References TiXmlNode::Value().

## ◆ Visit() [2/4]

bool TiXmlPrinter::Visit | ( | const TiXmlDeclaration & |  | ) |
| virtual

Visit a declaration.

Reimplemented from TiXmlVisitor.

Definition at line 1832 of file tinyxml.cpp.

## ◆ Visit() [3/4]

bool TiXmlPrinter::Visit | ( | const TiXmlText & |  | ) |
| virtual

Visit a text node.

Reimplemented from TiXmlVisitor.

Definition at line 1804 of file tinyxml.cpp.

References TiXmlText::CDATA(), TiXmlBase::EncodeString(), and TiXmlNode::Value().

## ◆ Visit() [4/4]

bool TiXmlPrinter::Visit | ( | const TiXmlUnknown & |  | ) |
| virtual

Visit an unknow node.

Reimplemented from TiXmlVisitor.

Definition at line 1852 of file tinyxml.cpp.

## ◆ VisitEnter() [1/2]

bool TiXmlPrinter::VisitEnter | ( | const TiXmlDocument & |  | ) |
| virtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1731 of file tinyxml.cpp.

## ◆ VisitEnter() [2/2]

bool TiXmlPrinter::VisitEnter | ( | const TiXmlElement & | ,
|  | const TiXmlAttribute * |
| ) |  |
| virtual

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1741 of file tinyxml.cpp.

References TiXmlText::CDATA(), TiXmlNode::FirstChild(), TiXmlAttribute::Next(), TiXmlAttribute::Print(), TiXmlNode::ToText(), and TiXmlNode::Value().

## ◆ VisitExit() [1/2]

bool TiXmlPrinter::VisitExit | ( | const TiXmlDocument & |  | ) |
| virtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1736 of file tinyxml.cpp.

## ◆ VisitExit() [2/2]

bool TiXmlPrinter::VisitExit | ( | const TiXmlElement & |  | ) |
| virtual

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1778 of file tinyxml.cpp.

References TiXmlNode::FirstChild(), and TiXmlNode::Value().

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

- panda/src/dxml/tinyxml.h
- panda/src/dxml/tinyxml.cpp