docs/classtinyxml2_1_1_x_m_l_document.html
| TinyXML-2 10.0.0 |
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tinyxml2::XMLDocument Class Reference
#include <tinyxml2.h>
Inheritance diagram for tinyxml2::XMLDocument:
|
|
| | XMLDocument (bool processEntities=true, Whitespace whitespaceMode=PRESERVE_WHITESPACE) |
| | constructor
|
| |
| virtual XMLDocument * | ToDocument () override |
| | Safely cast to a Document, or null.
|
| |
| XMLError | Parse (const char *xml, size_t nBytes=static_cast< size_t >(-1)) |
| |
| XMLError | LoadFile (const char *filename) |
| |
| XMLError | LoadFile (FILE *) |
| |
| XMLError | SaveFile (const char *filename, bool compact=false) |
| |
| XMLError | SaveFile (FILE *fp, bool compact=false) |
| |
| bool | HasBOM () const |
| |
| void | SetBOM (bool useBOM) |
| |
| XMLElement * | RootElement () |
| |
| void | Print (XMLPrinter *streamer=0) const |
| |
| virtual bool | Accept (XMLVisitor *visitor) const override |
| |
| XMLElement * | NewElement (const char *name) |
| |
| XMLComment * | NewComment (const char *comment) |
| |
| XMLText * | NewText (const char *text) |
| |
| XMLDeclaration * | NewDeclaration (const char *text=0) |
| |
| XMLUnknown * | NewUnknown (const char *text) |
| |
| void | DeleteNode (XMLNode *node) |
| |
| void | ClearError () |
| | Clears the error flags.
|
| |
| bool | Error () const |
| | Return true if there was an error parsing the document.
|
| |
| XMLError | ErrorID () const |
| | Return the errorID.
|
| |
| const char * | ErrorStr () const |
| |
| void | PrintError () const |
| | A (trivial) utility function that prints the ErrorStr() to stdout.
|
| |
| int | ErrorLineNum () const |
| | Return the line where the error occurred, or zero if unknown.
|
| |
| void | Clear () |
| | Clear the document, resetting it to the initial state.
|
| |
| void | DeepCopy (XMLDocument *target) const |
| |
| virtual XMLNode * | ShallowClone (XMLDocument *) const override |
| |
| virtual bool | ShallowEqual (const XMLNode *) const override |
| |
| Public Member Functions inherited from tinyxml2::XMLNode |
| 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.
|
| |
| const char * | Value () const |
| |
| void | SetValue (const char *val, bool staticMem=false) |
| |
| int | GetLineNum () const |
| | Gets the line number the node is in, if the document was parsed from a file.
|
| |
| const XMLNode * | Parent () const |
| | Get the parent of this node on the DOM.
|
| |
| 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.
|
| |
| const XMLElement * | FirstChildElement (const char *name=0) const |
| |
| const XMLNode * | LastChild () const |
| | Get the last child node, or null if none exists.
|
| |
| const XMLElement * | LastChildElement (const char *name=0) const |
| |
| const XMLNode * | PreviousSibling () const |
| | Get the previous (left) sibling node of this node.
|
| |
| const XMLElement * | PreviousSiblingElement (const char *name=0) const |
| | Get the previous (left) sibling element of this node, with an optionally supplied name.
|
| |
| const XMLNode * | NextSibling () const |
| | Get the next (right) sibling node of this node.
|
| |
| const XMLElement * | NextSiblingElement (const char *name=0) const |
| | Get the next (right) sibling element of this node, with an optionally supplied name.
|
| |
| XMLNode * | InsertEndChild (XMLNode *addThis) |
| |
| XMLNode * | InsertFirstChild (XMLNode *addThis) |
| |
| XMLNode * | InsertAfterChild (XMLNode *afterThis, XMLNode *addThis) |
| |
| void | DeleteChildren () |
| |
| void | DeleteChild (XMLNode *node) |
| |
| XMLNode * | DeepClone (XMLDocument *target) const |
| |
| void | SetUserData (void *userData) |
| |
| void * | GetUserData () const |
| |
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.
|
| virtual bool tinyxml2::XMLDocument::Accept | ( | XMLVisitor * | visitor | ) | const |
| overridevirtual |
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();
Implements tinyxml2::XMLNode.
| void tinyxml2::XMLDocument::DeepCopy | ( | XMLDocument * | target | ) | const |
Copies this document to a target document. The target will be completely cleared before the copy. If you want to copy a sub-tree, see XMLNode::DeepClone().
NOTE: that the 'target' must be non-null.
| void tinyxml2::XMLDocument::DeleteNode | ( | XMLNode * | node | ) | |
Delete a node associated with this document. It will be unlinked from the DOM.
| const char * tinyxml2::XMLDocument::ErrorStr | ( | | ) | const |
Returns a "long form" error description. A hopefully helpful diagnostic with location, line number, and/or additional info.
|
| bool tinyxml2::XMLDocument::HasBOM | ( | | ) | const |
| inline |
Returns true if this document has a leading Byte Order Mark of UTF8.
| XMLError tinyxml2::XMLDocument::LoadFile | ( | const char * | filename | ) | |
Load an XML file from disk. Returns XML_SUCCESS (0) on success, or an errorID.
| XMLError tinyxml2::XMLDocument::LoadFile | ( | FILE * | | ) | |
Load an XML file from disk. You are responsible for providing and closing the FILE*.
NOTE: The file should be opened as binary ("rb") not text in order for TinyXML-2 to correctly do newline normalization.
Returns XML_SUCCESS (0) on success, or an errorID.
| 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.
| 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"?>
| 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.
| 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.
| 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.
| XMLError tinyxml2::XMLDocument::Parse | ( | const char * | xml, | | | | size_t | nBytes = static_cast< size_t >(-1) ) |
Parse an XML file from a character string. Returns XML_SUCCESS (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.
| 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
|
| XMLElement * tinyxml2::XMLDocument::RootElement | ( | | ) | |
| inline |
Return the root element of DOM. Equivalent to FirstChildElement(). To get the first node, use FirstChild().
| XMLError tinyxml2::XMLDocument::SaveFile | ( | const char * | filename, | | | | bool | compact = false ) |
Save the XML file to disk. Returns XML_SUCCESS (0) on success, or an errorID.
| 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_SUCCESS (0) on success, or an errorID.
|
| void tinyxml2::XMLDocument::SetBOM | ( | bool | useBOM | ) | |
| inline |
Sets whether to write the BOM when writing the file.
|
| virtual XMLNode * tinyxml2::XMLDocument::ShallowClone | ( | XMLDocument * | document | ) | const |
| inlineoverridevirtual |
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.
Implements tinyxml2::XMLNode.
|
| virtual bool tinyxml2::XMLDocument::ShallowEqual | ( | const XMLNode * | compare | ) | const |
| inlineoverridevirtual |
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.
Implements tinyxml2::XMLNode.
The documentation for this class was generated from the following file:
Generated on Sat Dec 30 2023 18:02:35 for TinyXML-2 by 1.10.0