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

📄 tinyxml_8h-source.html

📁 XML解析器
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00569     <font class="keyword">virtual</font> <font class="keywordtype">void</font> Print( FILE* cfile, <font class="keywordtype">int</font> depth ) <font class="keyword">const</font>;00570 00571     <font class="keyword">virtual</font> <font class="keywordtype">void</font> StreamOut( TIXML_OSTREAM * out ) <font class="keyword">const</font>;00572     <font class="comment">// [internal use]</font>00573     <font class="comment">// Set the document pointer so the attribute can report errors.</font>00574     <font class="keywordtype">void</font> SetDocument( <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* doc )<font class="keyword">  </font>{ document = doc; }00575 00576 <font class="keyword">private</font>:00577     <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*  document;   <font class="comment">// A pointer back to a document, for error reporting.</font>00578     TIXML_STRING name;00579     TIXML_STRING value;00580     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* prev;00581     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* next;00582 };00583 00584 00585 <font class="comment">/*  A class used to manage a group of attributes.</font>00586 <font class="comment">    It is only used internally, both by the ELEMENT and the DECLARATION.</font>00587 <font class="comment">    </font>00588 <font class="comment">    The set can be changed transparent to the Element and Declaration</font>00589 <font class="comment">    classes that use it, but NOT transparent to the Attribute</font>00590 <font class="comment">    which has to implement a next() and previous() method. Which makes</font>00591 <font class="comment">    it a bit problematic and prevents the use of STL.</font>00592 <font class="comment"></font>00593 <font class="comment">    This version is implemented with circular lists because:</font>00594 <font class="comment">        - I like circular lists</font>00595 <font class="comment">        - it demonstrates some independence from the (typical) doubly linked list.</font>00596 <font class="comment">*/</font>00597 <font class="keyword">class </font>TiXmlAttributeSet00598 {00599 <font class="keyword">public</font>:00600     TiXmlAttributeSet();00601     ~TiXmlAttributeSet();00602 00603     <font class="keywordtype">void</font> Add( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00604     <font class="keywordtype">void</font> Remove( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00605 00606     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()<font class="keyword"> const   </font>{ <font class="keywordflow">return</font> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }00607     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last()  <font class="keyword">const</font>   { <font class="keywordflow">return</font> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }00608     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <font class="keyword">const</font> <font class="keywordtype">char</font> * name ) <font class="keyword">const</font>;00609 00610 <font class="keyword">private</font>:00611     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> sentinel;00612 };00613 00614 <a name="l00619"></a><a class="code" href="classTiXmlElement.html">00619</a> <font class="keyword">class</font> <a class="code" href="classTiXmlElement.html">TiXmlElement</a> : <font class="keyword">public</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00620 {00621 <font class="keyword">public</font>:00623     <a class="code" href="classTiXmlElement.html">TiXmlElement</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> * in_value);00624 00625 <font class="preprocessor">    #ifdef TIXML_USE_STL</font>00626 <font class="preprocessor"></font><a name="l00627"></a><a class="code" href="classTiXmlElement.html#a1">00627</a>     TiXmlElement( <font class="keyword">const</font> std::string&amp; _value ) :     <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::ELEMENT )00628     {00629         firstChild = lastChild = 0;00630         value = _value;00631     }00632 <font class="preprocessor">    #endif</font>00633 <font class="preprocessor"></font>00634     <font class="keyword">virtual</font> ~TiXmlElement();00635 00639     <font class="keyword">const</font> <font class="keywordtype">char</font>* Attribute( <font class="keyword">const</font> <font class="keywordtype">char</font>* name ) <font class="keyword">const</font>;00640 00647     <font class="keyword">const</font> <font class="keywordtype">char</font>* Attribute( <font class="keyword">const</font> <font class="keywordtype">char</font>* name, <font class="keywordtype">int</font>* i ) <font class="keyword">const</font>;00648 00652     <font class="keywordtype">void</font> SetAttribute( <font class="keyword">const</font> <font class="keywordtype">char</font>* name, <font class="keyword">const</font> <font class="keywordtype">char</font> * value );00653 00654 <font class="preprocessor">    #ifdef TIXML_USE_STL</font>00655 <font class="preprocessor"></font>    <font class="keyword">const</font> <font class="keywordtype">char</font>* Attribute( <font class="keyword">const</font> std::string&amp; name )<font class="keyword"> const              </font>{ <font class="keywordflow">return</font> Attribute( name.c_str() ); }00656     <font class="keyword">const</font> <font class="keywordtype">char</font>* Attribute( <font class="keyword">const</font> std::string&amp; name, <font class="keywordtype">int</font>* i )<font class="keyword"> const      </font>{ <font class="keywordflow">return</font> Attribute( name.c_str(), i ); }00657 <a name="l00659"></a><a class="code" href="classTiXmlElement.html#a8">00659</a>     <font class="keywordtype">void</font> SetAttribute( <font class="keyword">const</font> std::string&amp; name, <font class="keyword">const</font> std::string&amp; value )<font class="keyword">  </font>00660 <font class="keyword">    </font>{   00661         StringToBuffer n( name );00662         StringToBuffer v( value );00663         <font class="keywordflow">if</font> ( n.buffer &amp;&amp; v.buffer )00664             SetAttribute (n.buffer, v.buffer ); 00665     }   00667     <font class="keywordtype">void</font> SetAttribute( <font class="keyword">const</font> std::string&amp; name, <font class="keywordtype">int</font> value )<font class="keyword"> </font>00668 <font class="keyword">    </font>{   00669         StringToBuffer n( name );00670         <font class="keywordflow">if</font> ( n.buffer )00671             SetAttribute (n.buffer, value); 00672     }   00673 <font class="preprocessor">    #endif</font>00674 <font class="preprocessor"></font>00678     <font class="keywordtype">void</font> SetAttribute( <font class="keyword">const</font> <font class="keywordtype">char</font> * name, <font class="keywordtype">int</font> value );00679 00682     <font class="keywordtype">void</font> RemoveAttribute( <font class="keyword">const</font> <font class="keywordtype">char</font> * name );00683 <font class="preprocessor">    #ifdef TIXML_USE_STL</font><a name="l00684"></a><a class="code" href="classTiXmlElement.html#a12">00684</a> <font class="preprocessor"></font>    <font class="keywordtype">void</font> RemoveAttribute( <font class="keyword">const</font> std::string&amp; name )<font class="keyword"> </font>{   RemoveAttribute (name.c_str ());    }   00685 <font class="preprocessor">    #endif</font>00686 <font class="preprocessor"></font><a name="l00687"></a><a class="code" href="classTiXmlElement.html#a13">00687</a>     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* FirstAttribute()<font class="keyword"> const  </font>{ <font class="keywordflow">return</font> attributeSet.First(); }        <a name="l00688"></a><a class="code" href="classTiXmlElement.html#a14">00688</a>     <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* LastAttribute()<font class="keyword"> const   </font>{ <font class="keywordflow">return</font> attributeSet.Last(); }     00689 00690     <font class="comment">// [internal use] Creates a new Element and returs it.</font>00691     <font class="keyword">virtual</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* Clone() <font class="keyword">const</font>;00692     <font class="comment">// [internal use]</font>00693 00694     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classTiXmlBase.html#a2">Print</a>( FILE* cfile, <font class="keywordtype">int</font> depth ) <font class="keyword">const</font>;00695 00696 <font class="keyword">protected</font>:00697 00698     <font class="comment">// Used to be public [internal use]</font>00699     #ifdef TIXML_USE_STL00700         <font class="keyword">virtual</font> <font class="keywordtype">void</font> StreamIn( TIXML_ISTREAM * in, TIXML_STRING * tag );00701 <font class="preprocessor">    #endif</font>00702 <font class="preprocessor"></font>    <font class="keyword">virtual</font> <font class="keywordtype">void</font> StreamOut( TIXML_OSTREAM * out ) <font class="keyword">const</font>;00703 00704     <font class="comment">/*  [internal use]</font>00705 <font class="comment">        Attribtue parsing starts: next char past '&lt;'</font>00706 <font class="comment">                         returns: next char past '&gt;'</font>00707 <font class="comment">    */</font>00708     <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* Parse( <font class="keyword">const</font> <font class="keywordtype">char</font>* p );00709 00710     <font class="comment">/*  [internal use]</font>00711 <font class="comment">        Reads the "value" of the element -- another element, or text.</font>00712 <font class="comment">        This should terminate with the current end tag.</font>00713 <font class="comment">    */</font>00714     <font class="keyword">const</font> <font class="keywordtype">char</font>* ReadValue( <font class="keyword">const</font> <font class="keywordtype">char</font>* in );00715 00716 <font class="keyword">private</font>:00717     TiXmlAttributeSet attributeSet;00718 };00719 00720 <a name="l00723"></a><a class="code" href="classTiXmlComment.html">00723</a> <font class="keyword">class </font><a class="code" href="classTiXmlComment.html">TiXmlComment</a> : <font class="keyword">public</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00724 {00725 <font class="keyword">public</font>:<a name="l00727"></a><a class="code" href="classTiXmlComment.html#a0">00727</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 ) {}00728     <font class="keyword">virtual</font> ~TiXmlComment()<font class="keyword"> </font>{}00729 00730     <font class="comment">// [internal use] Creates a new Element and returs it.</font>00731     <font class="keyword">virtual</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* Clone() <font class="keyword">const</font>;00732     <font class="comment">// [internal use]</font>00733     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classTiXmlBase.html#a2">Print</a>( FILE* cfile, <font class="keywordtype">int</font> depth ) <font class="keyword">const</font>;00734 <font class="keyword">protected</font>:00735     <font class="comment">// used to be public</font>

⌨️ 快捷键说明

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