# class XmlDocument | Xml Document. More...
Full name | `TelEngine::XmlDocument`
Definition | `#include <libs/yxml/yatexml.h>`
Inherits | TelEngine::XmlParent [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- XmlDocument ()
- virtual ~XmlDocument ()
- virtual XmlDocument* document ()
- virtual XmlSaxParser::Error addChild (XmlChild* child)
- XmlDeclaration* declaration () const
- XmlElement* root (bool completed = false) const
- virtual void reset ()
- virtual XmlChild* removeChild (XmlChild* child, bool delObj = true)
- virtual XmlSaxParser::Error read (Stream& in, int* error = 0)
- virtual int write (Stream& out, bool escape = true, const String& indent = String::empty(), const String& origIndent = String::empty(), bool completeOnly = true) const
- XmlSaxParser::Error loadFile (const char* file, int* error = 0)
- int saveFile (const char* file = 0, bool escape = true, const String& indent = String::empty(), bool completeOnly = true) const
- void toString (String& dump, bool escape = true, const String& indent = String::empty(), const String& origIndent = String::empty()) const

## Detailed Description

Xml Document

XmlDocument () | ### XmlDocument

The Constructor

~XmlDocument () | ### ~XmlDocument

[virtual]

Destructor

XmlDocument* document () | ### document

[virtual]

Get an Xml Document

Returns: This

Reimplemented from XmlParent.

XmlSaxParser::Error addChild (XmlChild* child) | ### addChild

[virtual]

Append a new child to this document. Set the root to an XML element if not already set. If we already have a completed root the element will be added to the root, otherwise an error will be returned. If we don't have a root non xml elements (other then text) will be added the list of elements before root

Parameters:

child | The child to append

Returns: An error code if an error was detected

Reimplemented from XmlParent.

XmlDeclaration* declaration () | ### declaration

[const]

Retrieve the document declaration

Returns: XmlDeclaration pointer or 0 if not found

XmlElement* root (bool completed = false) | ### root

[const]

Retrieve the root element

Parameters:

completed | True to retrieve the root element if is not completed

Returns: Root pointer or 0 if not found or is not completed

void reset () | ### reset

[virtual]

Reset this Xml Document

Reimplemented from XmlParent.

XmlChild* removeChild (XmlChild* child, bool delObj = true) | ### removeChild

[virtual]

Remove a child

Parameters:

child | The child to remove
delObj | True to delete the object

Returns: XmlChild pointer if found and not deleted

Reimplemented from XmlParent.

XmlSaxParser::Error read (Stream& in, int* error = 0) | ### read

[virtual]

Load this document from data stream and parse it.

Parameters:

in | The input stream
error | Optional pointer to data to be filled with error if IOError is returned

Returns: Parser error (NoError on success)

int write (Stream& out, bool escape = true, const String& indent = String::empty(), const String& origIndent = String::empty(), bool completeOnly = true) | ### write

[const virtual]

Write this document to a data stream. A indent + n * origIndent will be added before each xml child, where n is the imbrication level, starting with 0. A indent + (n + 1) * origIndent will be added before each attribute

Parameters:

out | The output stream
escape | True if the attributes values need to be escaped
indent | Line indent
origIndent | Original indent
completeOnly | True to build only if complete

Returns: Written bytes, negative on error

XmlSaxParser::Error loadFile (const char* file, int* error = 0) | ### loadFile

Load a file an parse it Reset the document

Parameters:

file | The file to load
error | Pointer to data to be filled with file error if IOError is returned

Returns: Parser error (NoError on success)

int saveFile (const char* file = 0, bool escape = true, const String& indent = String::empty(), bool completeOnly = true) | ### saveFile

[const]

Save this xml document in the specified file. Create a new fle if not found. Truncate an existing one

Parameters:

file | The file to save or will be used the file used on load
escape | True if the attributes values need to be escaped
indent | Spaces for output
completeOnly | True to build only if complete

Returns: 0 on success, error code on failure

void toString (String& dump, bool escape = true, const String& indent = String::empty(), const String& origIndent = String::empty()) | ### toString

[const]

Build a String from this XmlDocument

Parameters:

dump | The string where to append representation
escape | True if the attributes values need to be escaped
indent | Spaces for output
origIndent | Original indent

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.