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

📄 tinyxml_8h-source.html

📁 一个小巧、好用的xml文档 解析器
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00369"></a>00369 <a name="l00371"></a><a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">00371</a>     <span class="keywordtype">void</span>*           <a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a>;<a name="l00372"></a>00372     <a name="l00373"></a>00373     <span class="comment">// None of these methods are reliable for any language except English.</span><a name="l00374"></a>00374     <span class="comment">// Good for approximation, not great for accuracy.</span><a name="l00375"></a>00375     <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlpha( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );<a name="l00376"></a>00376     <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlphaNum( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );<a name="l00377"></a>00377     <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">int</span> ToLower( <span class="keywordtype">int</span> v, TiXmlEncoding encoding )<a name="l00378"></a>00378     {<a name="l00379"></a>00379         <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )<a name="l00380"></a>00380         {<a name="l00381"></a>00381             <span class="keywordflow">if</span> ( v &lt; 128 ) <span class="keywordflow">return</span> tolower( v );<a name="l00382"></a>00382             <span class="keywordflow">return</span> v;<a name="l00383"></a>00383         }<a name="l00384"></a>00384         <span class="keywordflow">else</span><a name="l00385"></a>00385         {<a name="l00386"></a>00386             <span class="keywordflow">return</span> tolower( v );<a name="l00387"></a>00387         }<a name="l00388"></a>00388     }<a name="l00389"></a>00389     <span class="keyword">static</span> <span class="keywordtype">void</span> ConvertUTF32ToUTF8( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> input, <span class="keywordtype">char</span>* output, <span class="keywordtype">int</span>* length );<a name="l00390"></a>00390 <a name="l00391"></a>00391 <span class="keyword">private</span>:<a name="l00392"></a>00392     <a class="code" href="classTiXmlBase.html">TiXmlBase</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>&amp; );              <span class="comment">// not implemented.</span><a name="l00393"></a>00393     <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>&amp; base );    <span class="comment">// not allowed.</span><a name="l00394"></a>00394 <a name="l00395"></a>00395     <span class="keyword">struct </span>Entity<a name="l00396"></a>00396     {<a name="l00397"></a>00397         <span class="keyword">const</span> <span class="keywordtype">char</span>*     str;<a name="l00398"></a>00398         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    strLength;<a name="l00399"></a>00399         <span class="keywordtype">char</span>            chr;<a name="l00400"></a>00400     };<a name="l00401"></a>00401     <span class="keyword">enum</span><a name="l00402"></a>00402     {<a name="l00403"></a>00403         NUM_ENTITY = 5,<a name="l00404"></a>00404         MAX_ENTITY_LENGTH = 6<a name="l00405"></a>00405 <a name="l00406"></a>00406     };<a name="l00407"></a>00407     <span class="keyword">static</span> Entity entity[ NUM_ENTITY ];<a name="l00408"></a>00408     <span class="keyword">static</span> <span class="keywordtype">bool</span> condenseWhiteSpace;<a name="l00409"></a>00409 };<a name="l00410"></a>00410 <a name="l00411"></a>00411 <a name="l00418"></a><a class="code" href="classTiXmlNode.html">00418</a> <span class="keyword">class </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a><a name="l00419"></a>00419 {<a name="l00420"></a>00420     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;<a name="l00421"></a>00421     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;<a name="l00422"></a>00422 <a name="l00423"></a>00423 <span class="keyword">public</span>:<a name="l00424"></a>00424 <span class="preprocessor">    #ifdef TIXML_USE_STL    </span><a name="l00425"></a>00425 <span class="preprocessor"></span><a name="l00429"></a>00429         <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator &gt;&gt; </a>(std::istream&amp; in, <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base);<a name="l00430"></a>00430 <a name="l00447"></a>00447         <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt; </a>(std::ostream&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base);<a name="l00448"></a>00448 <a name="l00450"></a>00450         <span class="keyword">friend</span> std::string&amp; <a class="code" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt; </a>(std::string&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base );<a name="l00451"></a>00451 <a name="l00452"></a>00452 <span class="preprocessor">    #endif</span><a name="l00453"></a>00453 <span class="preprocessor"></span><a name="l00457"></a><a class="code" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">00457</a>     <span class="keyword">enum</span> <a class="code" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a><a name="l00458"></a>00458     {<a name="l00459"></a>00459         DOCUMENT,<a name="l00460"></a>00460         ELEMENT,<a name="l00461"></a>00461         COMMENT,<a name="l00462"></a>00462         UNKNOWN,<a name="l00463"></a>00463         TEXT,<a name="l00464"></a>00464         DECLARATION,<a name="l00465"></a>00465         TYPECOUNT<a name="l00466"></a>00466     };<a name="l00467"></a>00467 <a name="l00468"></a>00468     <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlNode.html">TiXmlNode</a>();<a name="l00469"></a>00469 <a name="l00482"></a><a class="code" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">00482</a>     <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str (); }<a name="l00483"></a>00483 <a name="l00484"></a>00484 <span class="preprocessor">    #ifdef TIXML_USE_STL</span><a name="l00485"></a>00485 <span class="preprocessor"></span><a name="l00489"></a><a class="code" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">00489</a>     <span class="keyword">const</span> std::string&amp; <a class="code" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }<a name="l00490"></a>00490 <span class="preprocessor">    #endif</span><a name="l00491"></a>00491 <span class="preprocessor"></span><a name="l00501"></a><a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">00501</a>     <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * _value) { value = _value;}<a name="l00502"></a>00502 <a name="l00503"></a>00503 <span class="preprocessor">    #ifdef TIXML_USE_STL</span><a name="l00505"></a><a class="code" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">00505</a> <span class="preprocessor">    void SetValue( const std::string&amp; _value )  { value = _value; }</span><a name="l00506"></a>00506 <span class="preprocessor"></span><span class="preprocessor">    #endif</span><a name="l00507"></a>00507 <span class="preprocessor"></span><a name="l00509"></a>00509     <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>();<a name="l00510"></a>00510 <a name="l00512"></a><a class="code" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">00512</a>     <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()                         { <span class="keywordflow">return</span> parent; }<a name="l00513"></a>00513     <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()<span class="keyword"> const             </span>{ <span class="keywordflow">return</span> parent; }<a name="l00514"></a>00514 <a name="l00515"></a><a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">00515</a>     <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>()<span class="keyword">   const   </span>{ <span class="keywordflow">return</span> firstChild; }      <a name="l00516"></a>00516     <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>()                 { <span class="keywordflow">return</span> firstChild; }<a name="l00517"></a>00517     <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;            <a name="l00518"></a>00518 <a name="l00519"></a><a class="code" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">00519</a>     <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {<a name="l00520"></a>00520         <span class="comment">// Call through to the const version - safe since nothing is changed. Exiting syntax: cast this to a const (always safe)</span><a name="l00521"></a>00521         <span class="comment">// call the method, cast the return back to non-const.</span><a name="l00522"></a>00522         <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt; ((const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;FirstChild( _value ));<a name="l00523"></a>00523     }<a name="l00524"></a>00524     <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild()<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> lastChild; }       <a name="l00525"></a><a class="code" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">00525</a>     <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild()  { <span class="keywordflow">return</span> lastChild; }

⌨️ 快捷键说明

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