A Document binds together all the functionality. ...
#include <tinyxml2.h>
Veřejné metody | |
XMLDocument (bool processEntities=true, Whitespace=PRESERVE_WHITESPACE) | |
constructor ... | |
~XMLDocument () | |
virtual XMLDocument * | ToDocument () |
Safely cast to a Document, or null. ... | |
virtual const XMLDocument * | ToDocument () const |
XMLError | Parse (const char *xml, size_t nBytes=(size_t)(-1)) |
Parse an XML file from a character string. ... | |
XMLError | LoadFile (const char *filename) |
Load an XML file from disk. ... | |
XMLError | LoadFile (FILE *) |
Load an XML file from disk. ... | |
XMLError | SaveFile (const char *filename, bool compact=false) |
Save the XML file to disk. ... | |
XMLError | SaveFile (FILE *fp, bool compact=false) |
Save the XML file to disk. ... | |
bool | ProcessEntities () const |
Whitespace | WhitespaceMode () const |
bool | HasBOM () const |
Returns true if this document has a leading Byte Order Mark of UTF8. ... | |
void | SetBOM (bool useBOM) |
Sets whether to write the BOM when writing the file. ... | |
XMLElement * | RootElement () |
Return the root element of DOM. ... | |
const XMLElement * | RootElement () const |
void | Print (XMLPrinter *streamer=0) const |
Print the Document. ... | |
virtual bool | Accept (XMLVisitor *visitor) const |
Accept a hierarchical visit of the nodes in the TinyXML-2 DOM. ... | |
XMLElement * | NewElement (const char *name) |
Create a new Element associated with this Document. ... | |
XMLComment * | NewComment (const char *comment) |
Create a new Comment associated with this Document. ... | |
XMLText * | NewText (const char *text) |
Create a new Text associated with this Document. ... | |
XMLDeclaration * | NewDeclaration (const char *text=0) |
Create a new Declaration associated with this Document. ... | |
XMLUnknown * | NewUnknown (const char *text) |
Create a new Unknown associated with this Document. ... | |
void | DeleteNode (XMLNode *node) |
Delete a node associated with this document. ... | |
void | SetError (XMLError error, const char *str1, const char *str2) |
bool | Error () const |
Return true if there was an error parsing the document. ... | |
XMLError | ErrorID () const |
Return the errorID. ... | |
const char * | GetErrorStr1 () const |
Return a possibly helpful diagnostic location or string. ... | |
const char * | GetErrorStr2 () const |
Return a possibly helpful secondary diagnostic location or string. ... | |
void | PrintError () const |
If there is an error, print it to stdout. ... | |
void | Clear () |
Clear the document, resetting it to the initial state. ... | |
char * | Identify (char *p, XMLNode **node) |
virtual XMLNode * | ShallowClone (XMLDocument *) const |
Make a copy of this node, but not its children. ... | |
virtual bool | ShallowEqual (const XMLNode *) const |
Test if 2 nodes are the same, but don't test children. ... | |
![]() | |
const XMLDocument * | GetDocument () const |
Get the XMLDocument that owns this XMLNode. ... | |
XMLDocument * | GetDocument () |
Get the XMLDocument that owns this XMLNode. ... | |
virtual XMLElement * | ToElement () |
Safely cast to an Element, or null. ... | |
virtual XMLText * | ToText () |
Safely cast to Text, or null. ... | |
virtual XMLComment * | ToComment () |
Safely cast to a Comment, or null. ... | |
virtual XMLDeclaration * | ToDeclaration () |
Safely cast to a Declaration, or null. ... | |
virtual XMLUnknown * | ToUnknown () |
Safely cast to an Unknown, or null. ... | |
virtual const XMLElement * | ToElement () const |
virtual const XMLText * | ToText () const |
virtual const XMLComment * | ToComment () const |
virtual const XMLDeclaration * | ToDeclaration () const |
virtual const XMLUnknown * | ToUnknown () const |
const char * | Value () const |
The meaning of 'value' changes for the specific type. ... | |
void | SetValue (const char *val, bool staticMem=false) |
Set the Value of an XML node. ... | |
const XMLNode * | Parent () const |
Get the parent of this node on the DOM. ... | |
XMLNode * | Parent () |
bool | NoChildren () const |
Returns true if this node has no children. ... | |
const XMLNode * | FirstChild () const |
Get the first child node, or null if none exists. ... | |
XMLNode * | FirstChild () |
const XMLElement * | FirstChildElement (const char *value=0) const |
Get the first child element, or optionally the first child element with the specified name. ... | |
XMLElement * | FirstChildElement (const char *value=0) |
const XMLNode * | LastChild () const |
Get the last child node, or null if none exists. ... | |
XMLNode * | LastChild () |
const XMLElement * | LastChildElement (const char *value=0) const |
Get the last child element or optionally the last child element with the specified name. ... | |
XMLElement * | LastChildElement (const char *value=0) |
const XMLNode * | PreviousSibling () const |
Get the previous (left) sibling node of this node. ... | |
XMLNode * | PreviousSibling () |
const XMLElement * | PreviousSiblingElement (const char *value=0) const |
Get the previous (left) sibling element of this node, with an optionally supplied name. ... | |
XMLElement * | PreviousSiblingElement (const char *value=0) |
const XMLNode * | NextSibling () const |
Get the next (right) sibling node of this node. ... | |
XMLNode * | NextSibling () |
const XMLElement * | NextSiblingElement (const char *value=0) const |
Get the next (right) sibling element of this node, with an optionally supplied name. ... | |
XMLElement * | NextSiblingElement (const char *value=0) |
XMLNode * | InsertEndChild (XMLNode *addThis) |
Add a child node as the last (right) child. ... | |
XMLNode * | LinkEndChild (XMLNode *addThis) |
XMLNode * | InsertFirstChild (XMLNode *addThis) |
Add a child node as the first (left) child. ... | |
XMLNode * | InsertAfterChild (XMLNode *afterThis, XMLNode *addThis) |
Add a node after the specified child node. ... | |
void | DeleteChildren () |
Delete all the children of this node. ... | |
void | DeleteChild (XMLNode *node) |
Delete a child of this node. ... | |
virtual char * | ParseDeep (char *, StrPair *) |
Privátní metody | |
XMLDocument (const XMLDocument &) | |
void | operator= (const XMLDocument &) |
Privátní atributy | |
bool | _writeBOM |
bool | _processEntities |
XMLError | _errorID |
Whitespace | _whitespace |
const char * | _errorStr1 |
const char * | _errorStr2 |
char * | _charBuffer |
MemPoolT< sizeof(XMLElement) > | _elementPool |
MemPoolT< sizeof(XMLAttribute) > | _attributePool |
MemPoolT< sizeof(XMLText) > | _textPool |
MemPoolT< sizeof(XMLComment) > | _commentPool |
Friends | |
class | XMLElement |
Další zděděné členy | |
![]() | |
XMLNode (XMLDocument *) | |
virtual | ~XMLNode () |
XMLNode (const XMLNode &) | |
XMLNode & | operator= (const XMLNode &) |
![]() | |
XMLDocument * | _document |
XMLNode * | _parent |
StrPair | _value |
XMLNode * | _firstChild |
XMLNode * | _lastChild |
XMLNode * | _prev |
XMLNode * | _next |
A Document binds together all the functionality.
It can be saved, loaded, and printed to the screen. All Nodes are connected and allocated to a Document. If the Document is deleted, all its Nodes are also deleted.
Definice je uvedena na řádku 1445 v souboru tinyxml2.h.
tinyxml2::XMLDocument::XMLDocument | ( | bool | processEntities = true , |
Whitespace | whitespace = PRESERVE_WHITESPACE |
||
) |
constructor
Definice je uvedena na řádku 1505 v souboru tinyxml2.cpp.
Odkazuje se na tinyxml2::XMLNode::_document.
tinyxml2::XMLDocument::~XMLDocument | ( | ) |
Definice je uvedena na řádku 1519 v souboru tinyxml2.cpp.
Odkazuje se na _attributePool, _charBuffer, _commentPool, _elementPool, _textPool, tinyxml2::XMLNode::DeleteChildren(), Error() a TIXMLASSERT.
|
private |
|
virtual |
Accept a hierarchical visit of the nodes in the TinyXML-2 DOM.
Every node in the XML tree will be conditionally visited and the host will be called back via the XMLVisitor interface.
This is essentially a SAX interface for TinyXML-2. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML-2 is unchanged by using this interface versus any other.)
The interface has been based on ideas from:
Which are both good references for "visiting".
An example of using Accept():
XMLPrinter printer; tinyxmlDoc.Accept( &printer ); const char* xmlcstr = printer.CStr();
Implementuje tinyxml2::XMLNode.
Definice je uvedena na řádku 574 v souboru tinyxml2.cpp.
Odkazuje se na tinyxml2::XMLNode::FirstChild(), tinyxml2::XMLNode::NextSibling(), tinyxml2::XMLVisitor::VisitEnter() a tinyxml2::XMLVisitor::VisitExit().
Používá se v Print().
void tinyxml2::XMLDocument::Clear | ( | ) |
Clear the document, resetting it to the initial state.
Definice je uvedena na řádku 1542 v souboru tinyxml2.cpp.
Odkazuje se na _charBuffer, _errorID, _errorStr1, _errorStr2, tinyxml2::XMLNode::DeleteChildren() a tinyxml2::XML_NO_ERROR.
Používá se v LoadFile() a Parse().
|
inline |
Delete a node associated with this document.
It will be unlinked from the DOM.
Definice je uvedena na řádku 1591 v souboru tinyxml2.h.
Odkazuje se na tinyxml2::XMLNode::_parent a tinyxml2::XMLNode::DeleteChild().
|
inline |
Return true if there was an error parsing the document.
Definice je uvedena na řádku 1598 v souboru tinyxml2.h.
Odkazuje se na tinyxml2::XML_NO_ERROR.
Používá se v tinyxml2::XMLNode::ParseDeep() a ~XMLDocument().
|
inline |
Return the errorID.
Definice je uvedena na řádku 1602 v souboru tinyxml2.h.
|
inline |
Return a possibly helpful diagnostic location or string.
Definice je uvedena na řádku 1606 v souboru tinyxml2.h.
|
inline |
Return a possibly helpful secondary diagnostic location or string.
Definice je uvedena na řádku 1610 v souboru tinyxml2.h.
|
inline |
Returns true if this document has a leading Byte Order Mark of UTF8.
Definice je uvedena na řádku 1514 v souboru tinyxml2.h.
Používá se v tinyxml2::XMLPrinter::VisitEnter().
char * tinyxml2::XMLDocument::Identify | ( | char * | p, |
XMLNode ** | node | ||
) |
Definice je uvedena na řádku 499 v souboru tinyxml2.cpp.
Odkazuje se na _commentPool, _elementPool, tinyxml2::XMLNode::_memPool, _textPool, tinyxml2::XMLText::SetCData(), tinyxml2::XMLUtil::SkipWhiteSpace(), tinyxml2::XMLUtil::StringEqual(), TIXMLASSERT a XMLElement.
Používá se v tinyxml2::XMLNode::ParseDeep().
XMLError tinyxml2::XMLDocument::LoadFile | ( | const char * | filename | ) |
Load an XML file from disk.
Returns XML_NO_ERROR (0) on success, or an errorID.
Definice je uvedena na řádku 1600 v souboru tinyxml2.cpp.
Odkazuje se na _errorID, Clear(), SetError() a tinyxml2::XML_ERROR_FILE_NOT_FOUND.
XMLError tinyxml2::XMLDocument::LoadFile | ( | FILE * | fp | ) |
Load an XML file from disk.
You are responsible for providing and closing the FILE*.
Returns XML_NO_ERROR (0) on success, or an errorID.
Definice je uvedena na řádku 1621 v souboru tinyxml2.cpp.
Odkazuje se na _charBuffer, _errorID, _writeBOM, Clear(), tinyxml2::XMLNode::ParseDeep(), tinyxml2::XMLUtil::ReadBOM(), SetError(), tinyxml2::XMLUtil::SkipWhiteSpace(), tinyxml2::XML_ERROR_EMPTY_DOCUMENT a tinyxml2::XML_ERROR_FILE_READ_ERROR.
XMLComment * tinyxml2::XMLDocument::NewComment | ( | const char * | comment | ) |
Create a new Comment associated with this Document.
The memory for the Comment is managed by the Document.
Definice je uvedena na řádku 1564 v souboru tinyxml2.cpp.
Odkazuje se na _commentPool a tinyxml2::XMLNode::SetValue().
Používá se v tinyxml2::XMLComment::ShallowClone().
XMLDeclaration * tinyxml2::XMLDocument::NewDeclaration | ( | const char * | text = 0 | ) |
Create a new Declaration associated with this Document.
The memory for the object is managed by the Document.
If the 'text' param is null, the standard declaration is used.:
<?xml version="1.0" encoding="UTF-8"?>
Definice je uvedena na řádku 1582 v souboru tinyxml2.cpp.
Odkazuje se na _commentPool a tinyxml2::XMLNode::SetValue().
Používá se v tinyxml2::XMLDeclaration::ShallowClone().
XMLElement * tinyxml2::XMLDocument::NewElement | ( | const char * | name | ) |
Create a new Element associated with this Document.
The memory for the Element is managed by the Document.
Definice je uvedena na řádku 1555 v souboru tinyxml2.cpp.
Odkazuje se na _elementPool, tinyxml2::XMLElement::SetName() a XMLElement.
Používá se v tinyxml2::XMLElement::ShallowClone().
XMLText * tinyxml2::XMLDocument::NewText | ( | const char * | text | ) |
Create a new Text associated with this Document.
The memory for the Text is managed by the Document.
Definice je uvedena na řádku 1573 v souboru tinyxml2.cpp.
Odkazuje se na _textPool a tinyxml2::XMLNode::SetValue().
Používá se v tinyxml2::XMLText::ShallowClone().
XMLUnknown * tinyxml2::XMLDocument::NewUnknown | ( | const char * | text | ) |
Create a new Unknown associated with this Document.
The memory for the object is managed by the Document.
Definice je uvedena na řádku 1591 v souboru tinyxml2.cpp.
Odkazuje se na _commentPool a tinyxml2::XMLNode::SetValue().
Používá se v tinyxml2::XMLUnknown::ShallowClone().
|
private |
XMLError tinyxml2::XMLDocument::Parse | ( | const char * | xml, |
size_t | nBytes = (size_t)(-1) |
||
) |
Parse an XML file from a character string.
Returns XML_NO_ERROR (0) on success, or an errorID.
You may optionally pass in the 'nBytes', which is the number of bytes which will be parsed. If not specified, TinyXML-2 will assume 'xml' points to a null terminated string.
Definice je uvedena na řádku 1683 v souboru tinyxml2.cpp.
Odkazuje se na _charBuffer, _errorID, _writeBOM, Clear(), tinyxml2::XMLNode::ParseDeep(), tinyxml2::XMLUtil::ReadBOM(), SetError(), tinyxml2::XMLUtil::SkipWhiteSpace() a tinyxml2::XML_ERROR_EMPTY_DOCUMENT.
void tinyxml2::XMLDocument::Print | ( | XMLPrinter * | streamer = 0 | ) | const |
Print the Document.
If the Printer is not provided, it will print to stdout. If you provide Printer, this can print to a file:
XMLPrinter printer( fp ); doc.Print( &printer );
Or you can use a printer to print to memory:
XMLPrinter printer; doc.Print( &printer ); // printer.CStr() has a const char* to the XML
Definice je uvedena na řádku 1712 v souboru tinyxml2.cpp.
Odkazuje se na Accept().
Používá se v SaveFile().
void tinyxml2::XMLDocument::PrintError | ( | ) | const |
If there is an error, print it to stdout.
Definice je uvedena na řádku 1730 v souboru tinyxml2.cpp.
Odkazuje se na _errorID, _errorStr1, _errorStr2 a TIXML_SNPRINTF.
|
inline |
Definice je uvedena na řádku 1504 v souboru tinyxml2.h.
Používá se v tinyxml2::XMLElement::ParseAttributes(), tinyxml2::XMLText::ParseDeep() a tinyxml2::XMLPrinter::VisitEnter().
|
inline |
Return the root element of DOM.
Equivalent to FirstChildElement(). To get the first node, use FirstChild().
Definice je uvedena na řádku 1526 v souboru tinyxml2.h.
|
inline |
Definice je uvedena na řádku 1529 v souboru tinyxml2.h.
XMLError tinyxml2::XMLDocument::SaveFile | ( | const char * | filename, |
bool | compact = false |
||
) |
Save the XML file to disk.
Returns XML_NO_ERROR (0) on success, or an errorID.
Definice je uvedena na řádku 1656 v souboru tinyxml2.cpp.
Odkazuje se na _errorID, SetError() a tinyxml2::XML_ERROR_FILE_COULD_NOT_BE_OPENED.
Používá se v gelibspace::Stream::close().
XMLError tinyxml2::XMLDocument::SaveFile | ( | FILE * | fp, |
bool | compact = false |
||
) |
Save the XML file to disk.
You are responsible for providing and closing the FILE*.
Returns XML_NO_ERROR (0) on success, or an errorID.
Definice je uvedena na řádku 1675 v souboru tinyxml2.cpp.
|
inline |
Sets whether to write the BOM when writing the file.
Definice je uvedena na řádku 1519 v souboru tinyxml2.h.
void tinyxml2::XMLDocument::SetError | ( | XMLError | error, |
const char * | str1, | ||
const char * | str2 | ||
) |
Definice je uvedena na řádku 1722 v souboru tinyxml2.cpp.
Odkazuje se na _errorID, _errorStr1 a _errorStr2.
Používá se v LoadFile(), Parse(), tinyxml2::XMLElement::ParseAttributes(), tinyxml2::XMLNode::ParseDeep(), tinyxml2::XMLText::ParseDeep(), tinyxml2::XMLComment::ParseDeep(), tinyxml2::XMLDeclaration::ParseDeep(), tinyxml2::XMLUnknown::ParseDeep() a SaveFile().
|
inlinevirtual |
Make a copy of this node, but not its children.
You may pass in a Document pointer that will be the owner of the new Node. If the 'document' is null, then the node returned will be allocated from the current Document. (this->GetDocument())
Note: if called on a XMLDocument, this will return null.
Implementuje tinyxml2::XMLNode.
Definice je uvedena na řádku 1622 v souboru tinyxml2.h.
|
inlinevirtual |
Test if 2 nodes are the same, but don't test children.
The 2 nodes do not need to be in the same Document.
Note: if called on a XMLDocument, this will return false.
Implementuje tinyxml2::XMLNode.
Definice je uvedena na řádku 1625 v souboru tinyxml2.h.
|
inlinevirtual |
Safely cast to a Document, or null.
Reimplementuje stejnojmenný prvek z tinyxml2::XMLNode.
Definice je uvedena na řádku 1453 v souboru tinyxml2.h.
|
inlinevirtual |
Reimplementuje stejnojmenný prvek z tinyxml2::XMLNode.
Definice je uvedena na řádku 1456 v souboru tinyxml2.h.
|
inline |
Definice je uvedena na řádku 1507 v souboru tinyxml2.h.
Používá se v tinyxml2::XMLText::ParseDeep().
|
friend |
Definice je uvedena na řádku 1447 v souboru tinyxml2.h.
Používá se v Identify() a NewElement().
|
private |
Definice je uvedena na řádku 1642 v souboru tinyxml2.h.
Používá se v tinyxml2::XMLElement::FindOrCreateAttribute(), tinyxml2::XMLElement::ParseAttributes() a ~XMLDocument().
|
private |
Definice je uvedena na řádku 1639 v souboru tinyxml2.h.
Používá se v Clear(), LoadFile(), Parse() a ~XMLDocument().
|
private |
Definice je uvedena na řádku 1644 v souboru tinyxml2.h.
Používá se v Identify(), NewComment(), NewDeclaration(), NewUnknown() a ~XMLDocument().
|
private |
Definice je uvedena na řádku 1641 v souboru tinyxml2.h.
Používá se v Identify(), NewElement() a ~XMLDocument().
|
private |
Definice je uvedena na řádku 1635 v souboru tinyxml2.h.
Používá se v Clear(), LoadFile(), Parse(), PrintError(), SaveFile() a SetError().
|
private |
Definice je uvedena na řádku 1637 v souboru tinyxml2.h.
Používá se v Clear(), PrintError() a SetError().
|
private |
Definice je uvedena na řádku 1638 v souboru tinyxml2.h.
Používá se v Clear(), PrintError() a SetError().
|
private |
Definice je uvedena na řádku 1634 v souboru tinyxml2.h.
Definice je uvedena na řádku 1643 v souboru tinyxml2.h.
Používá se v Identify(), NewText() a ~XMLDocument().
|
private |
Definice je uvedena na řádku 1636 v souboru tinyxml2.h.
|
private |
Definice je uvedena na řádku 1633 v souboru tinyxml2.h.
Používá se v LoadFile() a Parse().