⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tinyxml_8h-source.html

📁 xml文件处理多平台类
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00732     TIXML_STRING value;00733     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* prev;00734     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* next;00735 };00736 00737 00738 <span class="comment">/*  A class used to manage a group of attributes.</span>00739 <span class="comment">    It is only used internally, both by the ELEMENT and the DECLARATION.</span>00740 <span class="comment">    </span>00741 <span class="comment">    The set can be changed transparent to the Element and Declaration</span>00742 <span class="comment">    classes that use it, but NOT transparent to the Attribute</span>00743 <span class="comment">    which has to implement a next() and previous() method. Which makes</span>00744 <span class="comment">    it a bit problematic and prevents the use of STL.</span>00745 <span class="comment"></span>00746 <span class="comment">    This version is implemented with circular lists because:</span>00747 <span class="comment">        - I like circular lists</span>00748 <span class="comment">        - it demonstrates some independence from the (typical) doubly linked list.</span>00749 <span class="comment">*/</span>00750 <span class="keyword">class </span>TiXmlAttributeSet00751 {00752 <span class="keyword">public</span>:00753     TiXmlAttributeSet();00754     ~TiXmlAttributeSet();00755 00756     <span class="keywordtype">void</span> Add( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00757     <span class="keywordtype">void</span> Remove( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00758 00759     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()<span class="keyword"> const   </span>{ <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }00760     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last()  <span class="keyword">const</span>   { <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }00761     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span> * name ) <span class="keyword">const</span>;00762 00763 <span class="keyword">private</span>:00764     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> sentinel;00765 };00766 00767 <a name="l00772"></a><a class="code" href="classTiXmlElement.html">00772</a> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00773 {00774 <span class="keyword">public</span>:00776     <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * in_value);00777 00778 <span class="preprocessor">    #ifdef TIXML_USE_STL</span>00779 <span class="preprocessor"></span>00780     <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a>( <span class="keyword">const</span> std::string&amp; _value );00781 <span class="preprocessor">    #endif</span>00782 <span class="preprocessor"></span>00783     <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; );00784 00785     <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; base );00786 00787     <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlElement.html">TiXmlElement</a>();00788 00792     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;00793 00800     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;00801 00808     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;00809 00817     <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a8">QueryIntAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* value ) <span class="keyword">const</span>;00819     <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a9">QueryDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* value ) <span class="keyword">const</span>;00820 00824     <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span> * value );00825 00826 <span class="preprocessor">    #ifdef TIXML_USE_STL</span>00827 <span class="preprocessor"></span>    <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> std::string&amp; name )<span class="keyword"> const              </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( name.c_str() ); }00828     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* i )<span class="keyword"> const      </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( name.c_str(), i ); }00829     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* d )<span class="keyword"> const   </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( name.c_str(), d ); }00830     <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a8">QueryIntAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* value )<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a8">QueryIntAttribute</a>( name.c_str(), value ); }00831     <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a9">QueryDoubleAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a9">QueryDoubleAttribute</a>( name.c_str(), value ); }00832 <a name="l00834"></a><a class="code" href="classTiXmlElement.html#a16">00834</a>     <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; _value ) 00835     {   00836         StringToBuffer n( name );00837         StringToBuffer v( _value );00838         <span class="keywordflow">if</span> ( n.buffer &amp;&amp; v.buffer )00839             <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a> (n.buffer, v.buffer ); 00840     }   00842     <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span> _value )    00843     {   00844         StringToBuffer n( name );00845         <span class="keywordflow">if</span> ( n.buffer )00846             <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a> (n.buffer, _value);    00847     }   00848 <span class="preprocessor">    #endif</span>00849 <span class="preprocessor"></span>00853     <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">int</span> value );00854 00858     <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a19">SetDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">double</span> value );00859 00862     <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a20">RemoveAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name );00863 <span class="preprocessor">    #ifdef TIXML_USE_STL</span><a name="l00864"></a><a class="code" href="classTiXmlElement.html#a21">00864</a> <span class="preprocessor"></span>    <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a20">RemoveAttribute</a>( <span class="keyword">const</span> std::string&amp; name ) {   <a class="code" href="classTiXmlElement.html#a20">RemoveAttribute</a> (name.c_str ());    }   00865 <span class="preprocessor">    #endif</span>00866 <span class="preprocessor"></span><a name="l00867"></a><a class="code" href="classTiXmlElement.html#a22">00867</a>     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a22">FirstAttribute</a>()<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> attributeSet.First(); }        <a name="l00868"></a><a class="code" href="classTiXmlElement.html#a23">00868</a>     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a23">LastAttribute</a>()<span class="keyword"> const   </span>{ <span class="keywordflow">return</span> attributeSet.Last(); }     00869 00871     <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlElement.html#a24">Clone</a>() <span class="keyword">const</span>;00872     <span class="comment">// Print the Element to a FILE stream.</span>00873     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a25">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;00874 00875     <span class="comment">/*  Attribtue parsing starts: next char past '&lt;'</span>00876 <span class="comment">                         returns: next char past '&gt;'</span>00877 <span class="comment">    */</span>00878     <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding );00879 00880 <span class="keyword">protected</span>:00881 00882     <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* target ) <span class="keyword">const</span>;00883     <span class="keywordtype">void</span> ClearThis();   <span class="comment">// like clear, but initializes 'this' object as well</span>00884 00885     <span class="comment">// Used to be public [internal use]</span>00886 <span class="preprocessor">    #ifdef TIXML_USE_STL</span>00887 <span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( TIXML_ISTREAM * in, TIXML_STRING * tag );00888 <span class="preprocessor">    #endif</span>00889 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamOut( TIXML_OSTREAM * out ) <span class="keyword">const</span>;00890 00891     <span class="comment">/*  [internal use]</span>00892 <span class="comment">        Reads the "value" of the element -- another element, or text.</span>00893 <span class="comment">        This should terminate with the current end tag.</span>00894 <span class="comment">    */</span>00895     <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadValue( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, TiXmlParsingData* prevData, TiXmlEncoding encoding );00896 00897 <span class="keyword">private</span>:00898 00899     TiXmlAttributeSet attributeSet;00900 };00901 00902 <a name="l00905"></a><a class="code" href="classTiXmlComment.html">00905</a> <span class="keyword">class </span><a class="code" href="classTiXmlComment.html">TiXmlComment</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00906 {00907 <span class="keyword">public</span>:<a name="l00909"></a><a class="code" href="classTiXmlComment.html#a0">00909</a>     <a class="code" href="classTiXmlComment.html#a0">TiXmlComment</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::COMMENT ) {}00910     <a class="code" href="classTiXmlComment.html#a0">TiXmlC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -