%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: xmlnode.tex
%% Purpose: wxXmlDocument documentation
%% Author: Francesco Montorsi
%% Created: 2006-04-18
%% RCS-ID: $Id$
%% Copyright: (c) 2006 Francesco Montorsi
%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxXmlDocument}}\label{wxxmldocument}
This class holds XML data/document as parsed by XML parser in the root node.
wxXmlDocument internally uses the expat library which comes with wxWidgets to parse the given stream.
A simple example of using XML classes is:
\begin{verbatim}
wxXmlDocument doc;
if (!doc.Load(wxT("myfile.xml"))
return false;
// start processing the XML file
if (doc.GetRoot()->GetName() != wxT("myroot-node"))
return false;
wxXmlNode *child = doc.GetRoot()->GetChildren();
while (child) {
if (child->GetName() == wxT("tag1")) {
// process text enclosed by
wxString content = child->GetNodeContent();
...
// process properties of
wxString propvalue1 = child->GetPropVal(wxT("prop1"), wxT("default-value"));
wxString propvalue2 = child->GetPropVal(wxT("prop2"), wxT("default-value"));
...
} else if (child->GetName() == wxT("tag2")) {
// process tag2 ...
}
child = child->GetNext();
}
\end{verbatim}
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
\wxheading{See also}
\helpref{wxXmlNode}{wxxmlnode}, \helpref{wxXmlProperty}{wxxmlproperty}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxXmlDocument::wxXmlDocument}\label{wxxmldocumentwxxmldocument}
\func{}{wxXmlDocument}{\void}
\func{}{wxXmlDocument}{\param{const wxString\& }{filename}, \param{const wxString\& }{encoding = wxT("UTF-8")}}
Loads the given {\it filename} using the given encoding. See \helpref{Load()}{wxxmldocumentload}.
\func{}{wxXmlDocument}{\param{wxInputStream\& }{stream}, \param{const wxString\& }{encoding = wxT("UTF-8")}}
Loads the XML document from given stream using the given encoding. See \helpref{Load()}{wxxmldocumentload}.
\func{}{wxXmlDocument}{\param{const wxXmlDocument\& }{doc}}
Copy constructor.
\membersection{wxXmlDocument::\destruct{wxXmlDocument}}\label{wxxmldocumentdtor}
\func{}{\destruct{wxXmlDocument}}{\void}
Virtual destructor. Frees the document root node.
\membersection{wxXmlDocument::GetEncoding}\label{wxxmldocumentgetencoding}
\constfunc{wxString}{GetEncoding}{\void}
Returns encoding of in-memory representation of the document
(same as passed to \helpref{Load()}{wxxmldocumentload} or constructor, defaults to UTF-8).
NB: this is meaningless in Unicode build where data are stored as wchar\_t*.
\membersection{wxXmlDocument::GetFileEncoding}\label{wxxmldocumentgetfileencoding}
\constfunc{wxString}{GetFileEncoding}{\void}
Returns encoding of document (may be empty).
Note: this is the encoding original file was saved in, *not* the
encoding of in-memory representation!
\membersection{wxXmlDocument::GetRoot}\label{wxxmldocumentgetroot}
\constfunc{wxXmlNode*}{GetRoot}{\void}
Returns the root node of the document.
\membersection{wxXmlDocument::GetVersion}\label{wxxmldocumentgetversion}
\constfunc{wxString}{GetVersion}{\void}
Returns the version of document.
This is the value in the {\tt } header of the XML document.
If the version property was not explicitely given in the header, this function
returns an empty string.
\membersection{wxXmlDocument::IsOk}\label{wxxmldocumentisok}
\constfunc{bool}{IsOk}{\void}
Returns \true if the document has been loaded successfully.
\membersection{wxXmlDocument::Load}\label{wxxmldocumentload}
\func{bool}{Load}{\param{const wxString\& }{filename}, \param{const wxString\& }{encoding = wxT("UTF-8")}}
Parses {\it filename} as an xml document and loads data. Returns \true on success, \false otherwise.
\func{bool}{Load}{\param{wxInputStream\& }{stream}, \param{const wxString\& }{encoding = wxT("UTF-8")}}
Like above but takes the data from given input stream.
\membersection{wxXmlDocument::Save}\label{wxxmldocumentsave}
\constfunc{bool}{Save}{\param{const wxString\& }{filename}}
Saves XML tree creating a file named with given string.
\constfunc{bool}{Save}{\param{wxOutputStream\& }{stream}}
Saves XML tree in the given output stream.
\membersection{wxXmlDocument::SetEncoding}\label{wxxmldocumentsetencoding}
\func{void}{SetEncoding}{\param{const wxString\& }{enc}}
Sets the enconding of the document.
\membersection{wxXmlDocument::SetFileEncoding}\label{wxxmldocumentsetfileencoding}
\func{void}{SetFileEncoding}{\param{const wxString\& }{encoding}}
Sets the enconding of the file which will be used to save the document.
\membersection{wxXmlDocument::SetRoot}\label{wxxmldocumentsetroot}
\func{void}{SetRoot}{\param{wxXmlNode* }{node}}
Sets the root node of this document. Deletes previous root node.
\membersection{wxXmlDocument::SetVersion}\label{wxxmldocumentsetversion}
\func{void}{SetVersion}{\param{const wxString\& }{version}}
Sets the version of the XML file which will be used to save the document.
\membersection{wxXmlDocument::operator=}\label{wxxmldocumentoperatorassign}
\func{wxXmlDocument\& operator}{operator=}{\param{const wxXmlDocument\& }{doc}}
Copies the given document.