Printing functionality. ...
#include <tinyxml2.h>
Veřejné metody | |
XMLPrinter (FILE *file=0, bool compact=false, int depth=0) | |
Construct the printer. ... | |
virtual | ~XMLPrinter () |
void | PushHeader (bool writeBOM, bool writeDeclaration) |
If streaming, write the BOM and declaration. ... | |
void | OpenElement (const char *name) |
If streaming, start writing an element. ... | |
void | PushAttribute (const char *name, const char *value) |
If streaming, add an attribute to an open element. ... | |
void | PushAttribute (const char *name, int value) |
void | PushAttribute (const char *name, unsigned value) |
void | PushAttribute (const char *name, bool value) |
void | PushAttribute (const char *name, double value) |
virtual void | CloseElement () |
If streaming, close the Element. ... | |
void | PushText (const char *text, bool cdata=false, bool specrow=false) |
Add a text node. ... | |
void | PushText (int value) |
Add a text node from an integer. ... | |
void | PushText (unsigned value) |
Add a text node from an unsigned. ... | |
void | PushText (bool value) |
Add a text node from a bool. ... | |
void | PushText (float value) |
Add a text node from a float. ... | |
void | PushText (double value) |
Add a text node from a double. ... | |
void | PushComment (const char *comment) |
Add a comment. ... | |
void | PushDeclaration (const char *value) |
void | PushUnknown (const char *value) |
virtual bool | VisitEnter (const XMLDocument &) |
Visit a document. ... | |
virtual bool | VisitExit (const XMLDocument &) |
Visit a document. ... | |
virtual bool | VisitEnter (const XMLElement &element, const XMLAttribute *attribute) |
Visit an element. ... | |
virtual bool | VisitExit (const XMLElement &element) |
Visit an element. ... | |
virtual bool | Visit (const XMLText &text) |
Visit a text node. ... | |
virtual bool | Visit (const XMLComment &comment) |
Visit a comment node. ... | |
virtual bool | Visit (const XMLDeclaration &declaration) |
Visit a declaration. ... | |
virtual bool | Visit (const XMLUnknown &unknown) |
Visit an unknown node. ... | |
const char * | CStr () const |
If in print to memory mode, return a pointer to the XML file in memory. ... | |
int | CStrSize () const |
If in print to memory mode, return the size of the XML file in memory. ... | |
![]() | |
virtual | ~XMLVisitor () |
Chráněné metody | |
void | SealElement () |
Chráněné atributy | |
bool | _elementJustOpened |
DynArray< const char *, 10 > | _stack |
Privátní typy | |
enum | { ENTITY_RANGE = 64, BUF_SIZE = 200 } |
Privátní metody | |
void | PrintSpace (int depth) |
void | PrintString (const char *, bool restrictedEntitySet) |
void | Print (const char *format,...) |
Privátní atributy | |
bool | _firstElement |
FILE * | _fp |
int | _depth |
int | _textDepth |
bool | _processEntities |
bool | _compactMode |
bool | _entityFlag [ENTITY_RANGE] |
bool | _restrictedEntityFlag [ENTITY_RANGE] |
DynArray< char, 20 > | _buffer |
Printing functionality.
The XMLPrinter gives you more options than the XMLDocument::Print() method.
It can:
Print to Memory
XMLPrinter printer; doc.Print( &printer ); SomeFunction( printer.CStr() );
Print to a File
You provide the file pointer.
XMLPrinter printer( fp ); doc.Print( &printer );
Print without a XMLDocument
When loading, an XML parser is very useful. However, sometimes when saving, it just gets in the way. The code is often set up for streaming, and constructing the DOM is just overhead.
The Printer supports the streaming case. The following code prints out a trivially simple XML file without ever creating an XML document.
XMLPrinter printer( fp ); printer.OpenElement( "foo" ); printer.PushAttribute( "foo", "bar" ); printer.CloseElement();
Definice je uvedena na řádku 1894 v souboru tinyxml2.h.
|
private |
Hodnoty výčtu | |
---|---|
ENTITY_RANGE | |
BUF_SIZE |
Definice je uvedena na řádku 1986 v souboru tinyxml2.h.
tinyxml2::XMLPrinter::XMLPrinter | ( | FILE * | file = 0 , |
bool | compact = false , |
||
int | depth = 0 |
||
) |
Construct the printer.
If the FILE* is specified, this will print to the FILE. Else it will print to memory, and the result is available in CStr(). If 'compact' is set to true, then output is created with only required whitespace and newlines.
Definice je uvedena na řádku 1750 v souboru tinyxml2.cpp.
Odkazuje se na _buffer, _entityFlag, _restrictedEntityFlag, ENTITY_RANGE, tinyxml2::NUM_ENTITIES, tinyxml2::DynArray< T, INIT >::Push() a TIXMLASSERT.
|
inlinevirtual |
Definice je uvedena na řádku 1904 v souboru tinyxml2.h.
|
virtual |
If streaming, close the Element.
Definice je uvedena na řádku 1932 v souboru tinyxml2.cpp.
Odkazuje se na _compactMode, _depth, _elementJustOpened, _stack, _textDepth, tinyxml2::DynArray< T, INIT >::Pop(), Print() a PrintSpace().
Používá se v VisitExit().
|
inline |
If in print to memory mode, return a pointer to the XML file in memory.
Definice je uvedena na řádku 1957 v souboru tinyxml2.h.
|
inline |
If in print to memory mode, return the size of the XML file in memory.
(Note the size returned includes the terminating null.)
Definice je uvedena na řádku 1965 v souboru tinyxml2.h.
void tinyxml2::XMLPrinter::OpenElement | ( | const char * | name | ) |
If streaming, start writing an element.
The element must be closed with CloseElement()
Definice je uvedena na řádku 1870 v souboru tinyxml2.cpp.
Odkazuje se na _compactMode, _depth, _elementJustOpened, _firstElement, _stack, _textDepth, Print(), PrintSpace(), tinyxml2::DynArray< T, INIT >::Push() a SealElement().
Používá se v VisitEnter().
|
private |
Definice je uvedena na řádku 1776 v souboru tinyxml2.cpp.
Odkazuje se na _buffer, _fp a tinyxml2::DynArray< T, INIT >::PushArr().
Používá se v CloseElement(), OpenElement(), PrintSpace(), PrintString(), PushAttribute(), PushComment(), PushDeclaration(), PushHeader(), PushText(), PushUnknown() a SealElement().
|
private |
termitovo zkraceno ze 4 na 2 spaces
Definice je uvedena na řádku 1812 v souboru tinyxml2.cpp.
Odkazuje se na Print().
Používá se v CloseElement(), OpenElement(), PushComment(), PushDeclaration(), PushText() a PushUnknown().
|
private |
Definice je uvedena na řádku 1820 v souboru tinyxml2.cpp.
Odkazuje se na _entityFlag, _processEntities, _restrictedEntityFlag, ENTITY_RANGE, tinyxml2::NUM_ENTITIES a Print().
Používá se v PushAttribute() a PushText().
void tinyxml2::XMLPrinter::PushAttribute | ( | const char * | name, |
const char * | value | ||
) |
If streaming, add an attribute to an open element.
Definice je uvedena na řádku 1891 v souboru tinyxml2.cpp.
Odkazuje se na _elementJustOpened, Print(), PrintString() a TIXMLASSERT.
Používá se v PushAttribute() a VisitEnter().
void tinyxml2::XMLPrinter::PushAttribute | ( | const char * | name, |
int | value | ||
) |
Definice je uvedena na řádku 1900 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushAttribute() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushAttribute | ( | const char * | name, |
unsigned | value | ||
) |
Definice je uvedena na řádku 1908 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushAttribute() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushAttribute | ( | const char * | name, |
bool | value | ||
) |
Definice je uvedena na řádku 1916 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushAttribute() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushAttribute | ( | const char * | name, |
double | value | ||
) |
Definice je uvedena na řádku 1924 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushAttribute() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushComment | ( | const char * | comment | ) |
Add a comment.
Definice je uvedena na řádku 2029 v souboru tinyxml2.cpp.
Odkazuje se na _compactMode, _depth, _elementJustOpened, _firstElement, _textDepth, Print(), PrintSpace() a SealElement().
Používá se v Visit().
void tinyxml2::XMLPrinter::PushDeclaration | ( | const char * | value | ) |
Definice je uvedena na řádku 2043 v souboru tinyxml2.cpp.
Odkazuje se na _compactMode, _depth, _elementJustOpened, _firstElement, _textDepth, Print(), PrintSpace() a SealElement().
Používá se v PushHeader() a Visit().
void tinyxml2::XMLPrinter::PushHeader | ( | bool | writeBOM, |
bool | writeDeclaration | ||
) |
If streaming, write the BOM and declaration.
Definice je uvedena na řádku 1858 v souboru tinyxml2.cpp.
Odkazuje se na Print(), PushDeclaration(), TIXML_UTF_LEAD_0, TIXML_UTF_LEAD_1 a TIXML_UTF_LEAD_2.
Používá se v VisitEnter().
void tinyxml2::XMLPrinter::PushText | ( | const char * | text, |
bool | cdata = false , |
||
bool | specrow = false |
||
) |
Add a text node.
termitovo tisk textu na vlastni radek
termitovo
Definice je uvedena na řádku 1965 v souboru tinyxml2.cpp.
Odkazuje se na _depth, _elementJustOpened, _textDepth, Print(), PrintSpace(), PrintString() a SealElement().
Používá se v PushText() a Visit().
void tinyxml2::XMLPrinter::PushText | ( | int | value | ) |
Add a text node from an integer.
Definice je uvedena na řádku 1989 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushText() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushText | ( | unsigned | value | ) |
Add a text node from an unsigned.
Definice je uvedena na řádku 1997 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushText() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushText | ( | bool | value | ) |
Add a text node from a bool.
Definice je uvedena na řádku 2005 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushText() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushText | ( | float | value | ) |
Add a text node from a float.
Definice je uvedena na řádku 2013 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushText() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushText | ( | double | value | ) |
Add a text node from a double.
Definice je uvedena na řádku 2021 v souboru tinyxml2.cpp.
Odkazuje se na BUF_SIZE, PushText() a tinyxml2::XMLUtil::ToStr().
void tinyxml2::XMLPrinter::PushUnknown | ( | const char * | value | ) |
Definice je uvedena na řádku 2057 v souboru tinyxml2.cpp.
Odkazuje se na _compactMode, _depth, _elementJustOpened, _firstElement, _textDepth, Print(), PrintSpace() a SealElement().
Používá se v Visit().
|
protected |
Definice je uvedena na řádku 1958 v souboru tinyxml2.cpp.
Odkazuje se na _elementJustOpened a Print().
Používá se v OpenElement(), PushComment(), PushDeclaration(), PushText() a PushUnknown().
|
virtual |
Visit a text node.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2099 v souboru tinyxml2.cpp.
Odkazuje se na _compactMode, _elementJustOpened, tinyxml2::XMLText::CData(), tinyxml2::XMLNode::NextSibling(), PushText() a tinyxml2::XMLNode::Value().
|
virtual |
Visit a comment node.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2113 v souboru tinyxml2.cpp.
Odkazuje se na PushComment() a tinyxml2::XMLNode::Value().
|
virtual |
Visit a declaration.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2119 v souboru tinyxml2.cpp.
Odkazuje se na PushDeclaration() a tinyxml2::XMLNode::Value().
|
virtual |
Visit an unknown node.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2126 v souboru tinyxml2.cpp.
Odkazuje se na PushUnknown() a tinyxml2::XMLNode::Value().
|
virtual |
Visit a document.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2071 v souboru tinyxml2.cpp.
Odkazuje se na _processEntities, tinyxml2::XMLDocument::HasBOM(), tinyxml2::XMLDocument::ProcessEntities() a PushHeader().
|
virtual |
Visit an element.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2081 v souboru tinyxml2.cpp.
Odkazuje se na tinyxml2::XMLAttribute::Name(), tinyxml2::XMLElement::Name(), tinyxml2::XMLAttribute::Next(), OpenElement(), PushAttribute() a tinyxml2::XMLAttribute::Value().
|
inlinevirtual |
Visit a document.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 1941 v souboru tinyxml2.h.
|
virtual |
Visit an element.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLVisitor.
Definice je uvedena na řádku 2092 v souboru tinyxml2.cpp.
Odkazuje se na CloseElement().
|
private |
Definice je uvedena na řádku 1993 v souboru tinyxml2.h.
Používá se v Print() a XMLPrinter().
|
private |
Definice je uvedena na řádku 1984 v souboru tinyxml2.h.
Používá se v CloseElement(), OpenElement(), PushComment(), PushDeclaration(), PushUnknown() a Visit().
|
private |
Definice je uvedena na řádku 1981 v souboru tinyxml2.h.
Používá se v CloseElement(), OpenElement(), PushComment(), PushDeclaration(), PushText() a PushUnknown().
|
protected |
Definice je uvedena na řádku 1971 v souboru tinyxml2.h.
Používá se v CloseElement(), OpenElement(), PushAttribute(), PushComment(), PushDeclaration(), PushText(), PushUnknown(), SealElement() a Visit().
|
private |
Definice je uvedena na řádku 1990 v souboru tinyxml2.h.
Používá se v PrintString() a XMLPrinter().
|
private |
Definice je uvedena na řádku 1979 v souboru tinyxml2.h.
Používá se v OpenElement(), PushComment(), PushDeclaration() a PushUnknown().
|
private |
Definice je uvedena na řádku 1980 v souboru tinyxml2.h.
Používá se v Print().
|
private |
Definice je uvedena na řádku 1983 v souboru tinyxml2.h.
Používá se v PrintString() a VisitEnter().
|
private |
Definice je uvedena na řádku 1991 v souboru tinyxml2.h.
Používá se v PrintString() a XMLPrinter().
|
protected |
Definice je uvedena na řádku 1972 v souboru tinyxml2.h.
Používá se v CloseElement() a OpenElement().
|
private |
Definice je uvedena na řádku 1982 v souboru tinyxml2.h.
Používá se v CloseElement(), OpenElement(), PushComment(), PushDeclaration(), PushText() a PushUnknown().