📄 tinyxml_8h-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>tinyxml.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body bgcolor="#ffffff"><!-- Generated by Doxygen 1.2.10 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center><hr><h1>tinyxml.h</h1><div class="fragment"><pre>00001 <font class="comment">/*</font>00002 <font class="comment">Copyright (c) 2000 Lee Thomason (www.grinninglizard.com)</font>00003 <font class="comment"></font>00004 <font class="comment">This software is provided 'as-is', without any express or implied </font>00005 <font class="comment">warranty. In no event will the authors be held liable for any </font>00006 <font class="comment">damages arising from the use of this software.</font>00007 <font class="comment"></font>00008 <font class="comment">Permission is granted to anyone to use this software for any </font>00009 <font class="comment">purpose, including commercial applications, and to alter it and </font>00010 <font class="comment">redistribute it freely, subject to the following restrictions:</font>00011 <font class="comment"></font>00012 <font class="comment">1. The origin of this software must not be misrepresented; you must </font>00013 <font class="comment">not claim that you wrote the original software. If you use this </font>00014 <font class="comment">software in a product, an acknowledgment in the product documentation </font>00015 <font class="comment">would be appreciated but is not required.</font>00016 <font class="comment"></font>00017 <font class="comment">2. Altered source versions must be plainly marked as such, and </font>00018 <font class="comment">must not be misrepresented as being the original software.</font>00019 <font class="comment"></font>00020 <font class="comment">3. This notice may not be removed or altered from any source </font>00021 <font class="comment">distribution.</font>00022 <font class="comment">*/</font>00023 00024 00025 <font class="preprocessor">#ifndef TINYXML_INCLUDED</font>00026 <font class="preprocessor"></font><font class="preprocessor">#define TINYXML_INCLUDED</font>00027 <font class="preprocessor"></font>00028 <font class="preprocessor">#pragma warning( disable : 4530 )</font>00029 <font class="preprocessor"></font><font class="preprocessor">#pragma warning( disable : 4786 )</font>00030 <font class="preprocessor"></font>00031 <font class="preprocessor">#include <string></font>00032 <font class="preprocessor">#include <stdio.h></font>00033 <font class="preprocessor">#include <assert.h></font>00034 00035 <font class="keyword">class </font><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;00036 <font class="keyword">class </font><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;00037 <font class="keyword">class </font><a class="code" href="classTiXmlComment.html">TiXmlComment</a>;00038 <font class="keyword">class </font><a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>;00039 <font class="keyword">class </font><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>;00040 <font class="keyword">class </font><a class="code" href="classTiXmlText.html">TiXmlText</a>;00041 <font class="keyword">class </font><a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>;00042 00043 <a name="l00066"></a><a class="code" href="classTiXmlBase.html">00066</a> <font class="keyword">class </font><a class="code" href="classTiXmlBase.html">TiXmlBase</a>00067 {00068 <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classTiXmlNode.html">TiXmlNode</a>;00069 <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;00070 <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;00071 00072 <font class="keyword">public</font>:00073 TiXmlBase()<font class="keyword"> </font>{} 00074 <font class="keyword">virtual</font> ~TiXmlBase()<font class="keyword"> </font>{}00075 00076 <font class="comment">/* All TinyXml classes can print themselves to a filestream.</font>00077 <font class="comment"> */</font>00078 <font class="keyword">virtual</font> <font class="keywordtype">void</font> Print( FILE* fp, <font class="keywordtype">int</font> depth ) = 0;00079 00080 <font class="keyword">protected</font>:00081 <font class="comment">/* General parsing helper method. Takes a pointer in,</font>00082 <font class="comment"> skips all the white space it finds, and returns a pointer</font>00083 <font class="comment"> to the first non-whitespace data.</font>00084 <font class="comment"> */</font>00085 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* SkipWhiteSpace( <font class="keyword">const</font> <font class="keywordtype">char</font>* p );00086 00087 <font class="comment">/* Reads an XML name into the string provided. Returns</font>00088 <font class="comment"> a pointer just past the last character of the name, </font>00089 <font class="comment"> or 0 if the function has an error.</font>00090 <font class="comment"> */</font>00091 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* ReadName( <font class="keyword">const</font> <font class="keywordtype">char</font>* p, std::string* name );00092 00093 <font class="keyword">enum</font>00094 {00095 TIXML_NO_ERROR = 0,00096 TIXML_ERROR_OPENING_FILE,00097 TIXML_ERROR_OUT_OF_MEMORY,00098 TIXML_ERROR_PARSING_ELEMENT,00099 TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,00100 TIXML_ERROR_READING_ELEMENT_VALUE,00101 TIXML_ERROR_READING_ATTRIBUTES,00102 TIXML_ERROR_PARSING_EMPTY,00103 TIXML_ERROR_READING_END_TAG,00104 TIXML_ERROR_PARSING_UNKNOWN,00105 TIXML_ERROR_PARSING_COMMENT,00106 TIXML_ERROR_PARSING_DECLARATION,00107 00108 TIXML_ERROR_STRING_COUNT00109 };00110 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* errorString[ TIXML_ERROR_STRING_COUNT ];00111 };00112 00113 <a name="l00120"></a><a class="code" href="classTiXmlNode.html">00120</a> <font class="keyword">class </font><a class="code" href="classTiXmlNode.html">TiXmlNode</a> : <font class="keyword">public</font> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>00121 {00122 <font class="keyword">public</font>:<a name="l00126"></a><a class="code" href="classTiXmlNode.html#s7">00126</a> <font class="keyword">enum</font> NodeType 00127 {00128 DOCUMENT, ELEMENT, COMMENT, UNKNOWN, TEXT, DECLARATION, TYPECOUNT00129 };00130 00131 <font class="keyword">virtual</font> ~TiXmlNode();00132 <a name="l00145"></a><a class="code" href="classTiXmlNode.html#a1">00145</a> <font class="keyword">const</font> std::string& <a class="code" href="classTiXmlNode.html#a1">Value</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> value; }00146 <a name="l00156"></a><a class="code" href="classTiXmlNode.html#a2">00156</a> <font class="keywordtype">void</font> <a class="code" href="classTiXmlNode.html#a2">SetValue</a>( <font class="keyword">const</font> std::string& _value )<font class="keyword"> </font>{ value = _value; }00157 00159 <font class="keywordtype">void</font> <a class="code" href="classTiXmlNode.html#a3">Clear</a>();00160 <a name="l00162"></a><a class="code" href="classTiXmlNode.html#a4">00162</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4">Parent</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> parent; }00163 <a name="l00164"></a><a class="code" href="classTiXmlNode.html#a5">00164</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5">FirstChild</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> firstChild; } 00165 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5">FirstChild</a>( <font class="keyword">const</font> std::string& value ) <font class="keyword">const</font>; 00166 00167 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8">LastChild</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> lastChild; } 00168 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8">LastChild</a>( <font class="keyword">const</font> std::string& value ) <font class="keyword">const</font>; 00169 00186 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a9">IterateChildren</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous );00187 00189 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a9">IterateChildren</a>( <font class="keyword">const</font> std::string& value, <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous );00190 00194 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a11">InsertEndChild</a>( <font class="keyword">const</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>& addThis ); 00195 00199 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a12">InsertBeforeChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* beforeThis, <font class="keyword">const</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>& addThis );00200 00204 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a13">InsertAfterChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* afterThis, <font class="keyword">const</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>& addThis );00205 00209 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a14">ReplaceChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* replaceThis, <font class="keyword">const</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>& withThis );00210 00212 <font class="keywordtype">bool</font> <a class="code" href="classTiXmlNode.html#a15">RemoveChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* removeThis );00213 <a name="l00215"></a><a class="code" href="classTiXmlNode.html#a16">00215</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a16">PreviousSibling</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> prev; }00216 00218 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a16">PreviousSibling</a>( <font class="keyword">const</font> std::string& ) <font class="keyword">const</font>;00219 <a name="l00221"></a><a class="code" href="classTiXmlNode.html#a18">00221</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a18">NextSibling</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> next; }00222 00224 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a18">NextSibling</a>( <font class="keyword">const</font> std::string& ) <font class="keyword">const</font>;00225 00230 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a20">NextSiblingElement</a>() <font class="keyword">const</font>;00231 00236 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a20">NextSiblingElement</a>( <font class="keyword">const</font> std::string& ) <font class="keyword">const</font>;00237 00239 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a22">FirstChildElement</a>() <font class="keyword">const</font>;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -