[ 1601396 ] Fix copy of empty wxXmlDocuments
and minor doc update. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -37,8 +37,12 @@ while (child) {
|
|||||||
|
|
||||||
|
|
||||||
// process properties of <tag1>
|
// process properties of <tag1>
|
||||||
wxString propvalue1 = child->GetPropVal(wxT("prop1"), wxT("default-value"));
|
wxString propvalue1 =
|
||||||
wxString propvalue2 = child->GetPropVal(wxT("prop2"), wxT("default-value"));
|
child->GetPropVal(wxT("prop1"),
|
||||||
|
wxT("default-value"));
|
||||||
|
wxString propvalue2 =
|
||||||
|
child->GetPropVal(wxT("prop2"),
|
||||||
|
wxT("default-value"));
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
@@ -57,7 +61,9 @@ and indentation, you need to turn off whitespace-only textnode removal and autom
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
wxXmlDocument doc;
|
wxXmlDocument doc;
|
||||||
doc.Load(wxT("myfile.xml"), wxT("UTF-8"), wxXMLDOC_KEEP_WHITESPACE_NODES);
|
doc.Load(wxT("myfile.xml"), wxT("UTF-8"), wxXMLDOC_KEEP_WHITESPACE_NODES);
|
||||||
doc.Save(wxT("myfile2.xml"), wxXML_NO_INDENTATION); // myfile2.xml will be indentic to myfile.xml
|
|
||||||
|
// myfile2.xml will be indentic to myfile.xml saving it this way:
|
||||||
|
doc.Save(wxT("myfile2.xml"), wxXML_NO_INDENTATION);
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Using default parameters, you will get a reformatted document which in general is different from
|
Using default parameters, you will get a reformatted document which in general is different from
|
||||||
@@ -66,7 +72,7 @@ the original loaded content:
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
wxXmlDocument doc;
|
wxXmlDocument doc;
|
||||||
doc.Load(wxT("myfile.xml"));
|
doc.Load(wxT("myfile.xml"));
|
||||||
doc.Save(wxT("myfile2.xml")); // myfile2.xml != myfile.xml
|
doc.Save(wxT("myfile2.xml")); // myfile2.xml != myfile.xml
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
@@ -94,15 +100,15 @@ doc.Save(wxT("myfile2.xml")); // myfile2.xml != myfile.xml
|
|||||||
|
|
||||||
\func{}{wxXmlDocument}{\param{const wxString\& }{filename}, \param{const wxString\& }{encoding = wxT("UTF-8")}, \param{int }{flags = wxXMLDOC\_NONE}}
|
\func{}{wxXmlDocument}{\param{const wxString\& }{filename}, \param{const wxString\& }{encoding = wxT("UTF-8")}, \param{int }{flags = wxXMLDOC\_NONE}}
|
||||||
|
|
||||||
Loads the given {\it filename} using the given encoding. See \helpref{Load()}{wxxmldocumentload}.
|
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")}, \param{int }{flags = wxXMLDOC\_NONE}}
|
\func{}{wxXmlDocument}{\param{wxInputStream\& }{stream}, \param{const wxString\& }{encoding = wxT("UTF-8")}, \param{int }{flags = wxXMLDOC\_NONE}}
|
||||||
|
|
||||||
Loads the XML document from given stream using the given encoding. See \helpref{Load()}{wxxmldocumentload}.
|
Loads the XML document from given stream using the given encoding. See \helpref{Load}{wxxmldocumentload}.
|
||||||
|
|
||||||
\func{}{wxXmlDocument}{\param{const wxXmlDocument\& }{doc}}
|
\func{}{wxXmlDocument}{\param{const wxXmlDocument\& }{doc}}
|
||||||
|
|
||||||
Copy constructor.
|
Copy constructor. Deep copies all the XML tree of the given document.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxXmlDocument::\destruct{wxXmlDocument}}\label{wxxmldocumentdtor}
|
\membersection{wxXmlDocument::\destruct{wxXmlDocument}}\label{wxxmldocumentdtor}
|
||||||
@@ -129,9 +135,9 @@ Note that the caller is reponsible for deleting the returned node in order to av
|
|||||||
\constfunc{wxString}{GetEncoding}{\void}
|
\constfunc{wxString}{GetEncoding}{\void}
|
||||||
|
|
||||||
Returns encoding of in-memory representation of the document
|
Returns encoding of in-memory representation of the document
|
||||||
(same as passed to \helpref{Load()}{wxxmldocumentload} or constructor, defaults to UTF-8).
|
(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*.
|
NB: this is meaningless in Unicode build where data are stored as {\tt wchar\_t*}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -141,7 +147,7 @@ NB: this is meaningless in Unicode build where data are stored as wchar\_t*.
|
|||||||
|
|
||||||
Returns encoding of document (may be empty).
|
Returns encoding of document (may be empty).
|
||||||
|
|
||||||
Note: this is the encoding original file was saved in, *not* the
|
Note: this is the encoding original file was saved in, {\bf not} the
|
||||||
encoding of in-memory representation!
|
encoding of in-memory representation!
|
||||||
|
|
||||||
|
|
||||||
@@ -227,7 +233,8 @@ Sets the enconding of the file which will be used to save the document.
|
|||||||
\func{void}{SetRoot}{\param{wxXmlNode* }{node}}
|
\func{void}{SetRoot}{\param{wxXmlNode* }{node}}
|
||||||
|
|
||||||
Sets the root node of this document. Deletes previous root node.
|
Sets the root node of this document. Deletes previous root node.
|
||||||
Use \helpref{DetachRoot}{wxxmldocumentdetachroot} and then SetRoot if you want
|
Use \helpref{DetachRoot}{wxxmldocumentdetachroot} and then
|
||||||
|
\helpref{SetRoot}{wxxmldocumentsetroot} if you want
|
||||||
to replace the root node without deleting the old document tree.
|
to replace the root node without deleting the old document tree.
|
||||||
|
|
||||||
|
|
||||||
@@ -242,5 +249,5 @@ Sets the version of the XML file which will be used to save the document.
|
|||||||
|
|
||||||
\func{wxXmlDocument\& operator}{operator=}{\param{const wxXmlDocument\& }{doc}}
|
\func{wxXmlDocument\& operator}{operator=}{\param{const wxXmlDocument\& }{doc}}
|
||||||
|
|
||||||
Copies the given document.
|
Deep copies the given document.
|
||||||
|
|
||||||
|
@@ -386,7 +386,11 @@ void wxXmlDocument::DoCopy(const wxXmlDocument& doc)
|
|||||||
m_encoding = doc.m_encoding;
|
m_encoding = doc.m_encoding;
|
||||||
#endif
|
#endif
|
||||||
m_fileEncoding = doc.m_fileEncoding;
|
m_fileEncoding = doc.m_fileEncoding;
|
||||||
m_root = new wxXmlNode(*doc.m_root);
|
|
||||||
|
if (doc.m_root)
|
||||||
|
m_root = new wxXmlNode(*doc.m_root);
|
||||||
|
else
|
||||||
|
m_root = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxXmlDocument::Load(const wxString& filename, const wxString& encoding, int flags)
|
bool wxXmlDocument::Load(const wxString& filename, const wxString& encoding, int flags)
|
||||||
|
Reference in New Issue
Block a user