OpenCV  3.2.0
Open Source Computer Vision
Public Member Functions | Friends | List of all members
tinyxml2::XMLDocument Class Reference

#include "tinyxml2.h"

Inheritance diagram for tinyxml2::XMLDocument:
tinyxml2::XMLNode

Public Member Functions

 XMLDocument (bool processEntities=true, Whitespace=PRESERVE_WHITESPACE)
 constructor More...
 
 ~XMLDocument ()
 
virtual bool Accept (XMLVisitor *visitor) const
 
void Clear ()
 Clear the document, resetting it to the initial state. More...
 
void DeleteNode (XMLNode *node)
 
bool Error () const
 Return true if there was an error parsing the document. More...
 
XMLError ErrorID () const
 Return the errorID. More...
 
const char * GetErrorStr1 () const
 Return a possibly helpful diagnostic location or string. More...
 
const char * GetErrorStr2 () const
 Return a possibly helpful secondary diagnostic location or string. More...
 
bool HasBOM () const
 
char * Identify (char *p, XMLNode **node)
 
XMLError LoadFile (const char *filename)
 
XMLError LoadFile (FILE *)
 
XMLComment * NewComment (const char *comment)
 
XMLDeclaration * NewDeclaration (const char *text=0)
 
XMLElement * NewElement (const char *name)
 
XMLText * NewText (const char *text)
 
XMLUnknown * NewUnknown (const char *text)
 
XMLError Parse (const char *xml, size_t nBytes=(size_t)(-1))
 
void Print (XMLPrinter *streamer=0) const
 
void PrintError () const
 If there is an error, print it to stdout. More...
 
bool ProcessEntities () const
 
XMLElement * RootElement ()
 
const XMLElement * RootElement () const
 
XMLError SaveFile (const char *filename, bool compact=false)
 
XMLError SaveFile (FILE *fp, bool compact=false)
 
void SetBOM (bool useBOM)
 
void SetError (XMLError error, const char *str1, const char *str2)
 
virtual XMLNode * ShallowClone (XMLDocument *) const
 
virtual bool ShallowEqual (const XMLNode *) const
 
virtual XMLDocument * ToDocument ()
 Safely cast to a Document, or null. More...
 
virtual const XMLDocument * ToDocument () const
 
Whitespace WhitespaceMode () const
 
- Public Member Functions inherited from tinyxml2::XMLNode
void DeleteChild (XMLNode *node)
 
void DeleteChildren ()
 
const XMLNode * FirstChild () const
 Get the first child node, or null if none exists. More...
 
XMLNode * FirstChild ()
 
const XMLElement * FirstChildElement (const char *value=0) const
 
XMLElement * FirstChildElement (const char *value=0)
 
const XMLDocument * GetDocument () const
 Get the XMLDocument that owns this XMLNode. More...
 
XMLDocument * GetDocument ()
 Get the XMLDocument that owns this XMLNode. More...
 
XMLNode * InsertAfterChild (XMLNode *afterThis, XMLNode *addThis)
 
XMLNode * InsertEndChild (XMLNode *addThis)
 
XMLNode * InsertFirstChild (XMLNode *addThis)
 
const XMLNode * LastChild () const
 Get the last child node, or null if none exists. More...
 
XMLNode * LastChild ()
 
const XMLElement * LastChildElement (const char *value=0) const
 
XMLElement * LastChildElement (const char *value=0)
 
XMLNode * LinkEndChild (XMLNode *addThis)
 
const XMLNode * NextSibling () const
 Get the next (right) sibling node of this node. More...
 
XMLNode * NextSibling ()
 
const XMLElement * NextSiblingElement (const char *value=0) const
 Get the next (right) sibling element of this node, with an optionally supplied name. More...
 
XMLElement * NextSiblingElement (const char *value=0)
 
bool NoChildren () const
 Returns true if this node has no children. More...
 
const XMLNode * Parent () const
 Get the parent of this node on the DOM. More...
 
XMLNode * Parent ()
 
virtual char * ParseDeep (char *, StrPair *)
 
const XMLNode * PreviousSibling () const
 Get the previous (left) sibling node of this node. More...
 
XMLNode * PreviousSibling ()
 
const XMLElement * PreviousSiblingElement (const char *value=0) const
 Get the previous (left) sibling element of this node, with an optionally supplied name. More...
 
XMLElement * PreviousSiblingElement (const char *value=0)
 
void SetValue (const char *val, bool staticMem=false)
 
virtual XMLComment * ToComment ()
 Safely cast to a Comment, or null. More...
 
virtual const XMLComment * ToComment () const
 
virtual XMLDeclaration * ToDeclaration ()
 Safely cast to a Declaration, or null. More...
 
virtual const XMLDeclaration * ToDeclaration () const
 
virtual XMLElement * ToElement ()
 Safely cast to an Element, or null. More...
 
virtual const XMLElement * ToElement () const
 
virtual XMLText * ToText ()
 Safely cast to Text, or null. More...
 
virtual const XMLText * ToText () const
 
virtual XMLUnknown * ToUnknown ()
 Safely cast to an Unknown, or null. More...
 
virtual const XMLUnknown * ToUnknown () const
 
const char * Value () const
 

Friends

class XMLElement
 

Additional Inherited Members

- Protected Member Functions inherited from tinyxml2::XMLNode
 XMLNode (XMLDocument *)
 
 XMLNode (const XMLNode &)
 
virtual ~XMLNode ()
 
XMLNode & operator= (const XMLNode &)
 
- Protected Attributes inherited from tinyxml2::XMLNode
XMLDocument * _document
 
XMLNode * _firstChild
 
XMLNode * _lastChild
 
XMLNode * _next
 
XMLNode * _parent
 
XMLNode * _prev
 
StrPair _value
 

Detailed Description

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.

Constructor & Destructor Documentation

§ XMLDocument()

tinyxml2::XMLDocument::XMLDocument ( bool  processEntities = true,
Whitespace  = PRESERVE_WHITESPACE 
)

constructor

§ ~XMLDocument()

tinyxml2::XMLDocument::~XMLDocument ( )

Member Function Documentation

§ Accept()

virtual bool tinyxml2::XMLDocument::Accept ( XMLVisitor *  visitor) const
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();

Implements tinyxml2::XMLNode.

§ Clear()

void tinyxml2::XMLDocument::Clear ( )

Clear the document, resetting it to the initial state.

§ DeleteNode()

void tinyxml2::XMLDocument::DeleteNode ( XMLNode *  node)

Delete a node associated with this document. It will be unlinked from the DOM.

§ Error()

bool tinyxml2::XMLDocument::Error ( ) const

Return true if there was an error parsing the document.

§ ErrorID()

XMLError tinyxml2::XMLDocument::ErrorID ( ) const

Return the errorID.

§ GetErrorStr1()

const char* tinyxml2::XMLDocument::GetErrorStr1 ( ) const

Return a possibly helpful diagnostic location or string.

§ GetErrorStr2()

const char* tinyxml2::XMLDocument::GetErrorStr2 ( ) const

Return a possibly helpful secondary diagnostic location or string.

§ HasBOM()

bool tinyxml2::XMLDocument::HasBOM ( ) const

Returns true if this document has a leading Byte Order Mark of UTF8.

§ Identify()

char* tinyxml2::XMLDocument::Identify ( char *  p,
XMLNode **  node 
)

§ LoadFile() [1/2]

XMLError tinyxml2::XMLDocument::LoadFile ( const char *  filename)

Load an XML file from disk. Returns XML_NO_ERROR (0) on success, or an errorID.

§ LoadFile() [2/2]

XMLError tinyxml2::XMLDocument::LoadFile ( FILE *  )

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.

§ NewComment()

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.

§ NewDeclaration()

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"?>

§ NewElement()

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.

§ NewText()

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.

§ NewUnknown()

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.

§ Parse()

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.

§ Print()

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

§ PrintError()

void tinyxml2::XMLDocument::PrintError ( ) const

If there is an error, print it to stdout.

§ ProcessEntities()

bool tinyxml2::XMLDocument::ProcessEntities ( ) const

§ RootElement() [1/2]

XMLElement* tinyxml2::XMLDocument::RootElement ( )

Return the root element of DOM. Equivalent to FirstChildElement(). To get the first node, use FirstChild().

§ RootElement() [2/2]

const XMLElement* tinyxml2::XMLDocument::RootElement ( ) const

§ SaveFile() [1/2]

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.

§ SaveFile() [2/2]

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.

§ SetBOM()

void tinyxml2::XMLDocument::SetBOM ( bool  useBOM)

Sets whether to write the BOM when writing the file.

§ SetError()

void tinyxml2::XMLDocument::SetError ( XMLError  error,
const char *  str1,
const char *  str2 
)

§ ShallowClone()

virtual XMLNode* tinyxml2::XMLDocument::ShallowClone ( XMLDocument *  document) const
virtual

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.

§ ShallowEqual()

virtual bool tinyxml2::XMLDocument::ShallowEqual ( const XMLNode *  compare) const
virtual

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.

§ ToDocument() [1/2]

virtual XMLDocument* tinyxml2::XMLDocument::ToDocument ( )
virtual

Safely cast to a Document, or null.

Reimplemented from tinyxml2::XMLNode.

§ ToDocument() [2/2]

virtual const XMLDocument* tinyxml2::XMLDocument::ToDocument ( ) const
virtual

Reimplemented from tinyxml2::XMLNode.

§ WhitespaceMode()

Whitespace tinyxml2::XMLDocument::WhitespaceMode ( ) const

Friends And Related Function Documentation

§ XMLElement

friend class XMLElement
friend

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