﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-guaiguai</title><link>http://www.cppblog.com/guaiguai/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 03:56:44 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 03:56:44 GMT</pubDate><ttl>60</ttl><item><title>boost:tuple</title><link>http://www.cppblog.com/guaiguai/archive/2008/07/01/55076.html</link><dc:creator>guaiguai</dc:creator><author>guaiguai</author><pubDate>Tue, 01 Jul 2008 14:57:00 GMT</pubDate><guid>http://www.cppblog.com/guaiguai/archive/2008/07/01/55076.html</guid><wfw:comment>http://www.cppblog.com/guaiguai/comments/55076.html</wfw:comment><comments>http://www.cppblog.com/guaiguai/archive/2008/07/01/55076.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/guaiguai/comments/commentRss/55076.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/guaiguai/services/trackbacks/55076.html</trackback:ping><description><![CDATA[tuple<br>功能：<br>　　从函数中返回多个值<br>　　将相关的类型分组<br>Header: "boost/tuple/tuple.hpp"　tuple类模板和库的核心<br>Header: "boost/tuple/tuple_io.hpp"　tuple的输入输出操作<br>Header: "boost/tuple/tuple_comparison.hpp"　tuple的比较操作<br>成员函数<br>1.构造函数<br>&nbsp;&nbsp;&nbsp; tuple();<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; template &lt;class P1,class P2...,class PM&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tuple(class P1,class P2,...,PN); <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; template &lt;class U1,class U2,...,class UN&gt;<br>&nbsp;&nbsp;&nbsp; tuple(const tuple&lt;U1,U2,...,UN&gt;&amp;);<br><br>2.&nbsp; TIndex &amp; get&lt;int Index&gt;();<br>&nbsp;&nbsp;&nbsp; const TIndex &amp; get&lt;int Index&gt;() const;<br>&nbsp;&nbsp;&nbsp; 返回第Index个成份的引用。Index必须是整数，如果index大于tuple的元素总数产生编译错误。<br>3.&nbsp; tuple&amp; operator=(const tuple&amp; other);<br><br><br><br>template&lt;class T1,class T2,...,class TN&gt; tuple&lt;V1,V2,...,VN&gt; <br>&nbsp; make_tuple(const T1&amp; t1,const T2&amp; t2,...,const TN&amp; tn);<br>与std::make_pair类似<br><br>template&lt;class T1,class T2,...,class TN&gt; tuple&lt;T1&amp;,T2&amp;,...,TN&gt; <br>&nbsp; tie(T1&amp; t1,T2&amp; t2,...,TN&amp; tn);<br>tie(t1,t2,...,tn)等同于make_tuple(ref(t1),ref(t2)... ref(tn))<br><br>template &lt;int I,class T1,class T2,...,class TN&gt; <br>&nbsp; RI get(tuple&lt;T1,T2,...,TN&gt;&amp; t);<br>获得tuple t的一个元素。如果TI是一个引用类型，RI=TI,反之,RI=TI&amp;<br><br><br>相关操作<br>bool operator==(<br>&nbsp; const tuple&lt;T1,T2,...,TN&gt;&amp; lhs, <br>&nbsp; const tuple&lt;U1,U2,...,UN&gt;&amp; rhs);<br>bool operator!=(<br>&nbsp; const tuple&lt;T1,T2,...,TN&gt;&amp; lhs, <br>&nbsp; const tuple&lt;U1,U2...,...,&gt;&amp; rhs);<br>bool operator&lt;(<br>&nbsp; const tuple&lt;T1,T2,...,TN&gt;&amp; lhs, <br>&nbsp; const tuple&lt;U1,U2,...,UN&gt;&amp; rhs);<br><br>使用<br>如果元素是引用类型，用boost::ref。例如 boost::make_tuple(boost::ref(plain));<br>1.获得tuple的元素<br>#include &lt;iostream&gt;<br>#include &lt;string&gt;<br><br>#include "boost/tuple/tuple.hpp"<br><br>int main() {<br>&nbsp; boost::tuple&lt;int,double,std::string&gt; <br>&nbsp; triple(42,3.14,"The amazing tuple!"); <br><br>&nbsp; int i=boost::tuples::get&lt;0&gt;(triple);<br>&nbsp; double d=triple.get&lt;1&gt;();<br>&nbsp; std::string s=boost::get&lt;2&gt;(triple);<br>}<br><br>2.tie的使用<br>&nbsp; 不使用tie<br>&nbsp; boost::tuple&lt;int,int&gt; tup;<br>&nbsp; tup=gcd_lcm(12,18);<br>&nbsp; int gcd=tup.get&lt;0&gt;());<br>&nbsp; int lcm=tup.get&lt;1&gt;());<br><br>&nbsp; 使用<br>&nbsp; boost::tie(gcd,lcm)=gcd_lcm(15,20);<br><br>3.输出tuple<br><img src ="http://www.cppblog.com/guaiguai/aggbug/55076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/guaiguai/" target="_blank">guaiguai</a> 2008-07-01 22:57 <a href="http://www.cppblog.com/guaiguai/archive/2008/07/01/55076.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>boost:regex</title><link>http://www.cppblog.com/guaiguai/archive/2008/06/30/54990.html</link><dc:creator>guaiguai</dc:creator><author>guaiguai</author><pubDate>Mon, 30 Jun 2008 15:12:00 GMT</pubDate><guid>http://www.cppblog.com/guaiguai/archive/2008/06/30/54990.html</guid><wfw:comment>http://www.cppblog.com/guaiguai/comments/54990.html</wfw:comment><comments>http://www.cppblog.com/guaiguai/archive/2008/06/30/54990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/guaiguai/comments/commentRss/54990.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/guaiguai/services/trackbacks/54990.html</trackback:ping><description><![CDATA[regex<br>1.介绍<br>header:"boost/regex.hpp"<br>正则表达式是一个basic_regex的对象。<br><br>template &lt;class charT,class Allocator,class traits &gt;<br>&nbsp; bool regex_match(<br>&nbsp;&nbsp;&nbsp; const charT* str, <br>&nbsp;&nbsp;&nbsp; match_results&lt;const charT*,Allocator&gt;&amp; m,<br>&nbsp;&nbsp;&nbsp; const basic_regex&lt;charT,traits &gt;&amp; e,<br>&nbsp;&nbsp;&nbsp; match_flag_type flags = match_default);<br><br>regex_match决定一个正则表达式(参数e)是否匹配整个字符串str。主要用于确认文本。<br><br>template &lt;class charT,class Allocator, class traits&gt; <br>&nbsp; bool regex_search(<br>&nbsp;&nbsp;&nbsp; const charT* str,<br>&nbsp;&nbsp;&nbsp; match_results&lt;const charT*,Allocator&gt;&amp; m,<br>&nbsp;&nbsp;&nbsp; const basic_regex&lt;charT,traits &gt;&amp; e,<br>&nbsp;&nbsp;&nbsp; match_flag_type flags = match_default);<br><br>regex_search与regex_match相似，但它不要求整个字符串成功匹配。用来发现与正则表达式e匹配的子串。<br><br>template &lt;class traits,class charT&gt;<br>&nbsp; basic_string&lt;charT&gt; regex_replace(<br>&nbsp;&nbsp;&nbsp; const basic_string&lt;charT&gt;&amp; s,<br>&nbsp;&nbsp;&nbsp; const basic_regex&lt;charT,traits &gt;&amp; e,<br>&nbsp;&nbsp;&nbsp; const basic_string&lt;charT&gt;&amp; fmt,<br>&nbsp;&nbsp;&nbsp; match_flag_type flags = match_default);<br><br>regex_replace扫描字符串查找所有与正则表达式匹配的子串，并用参数fmt替代。<br><br><br><br>regex需要单独编译。<br><br>2.regex使用<br>&nbsp;首先声明一个basic_regex的变量。用来存储正则表达式。<br>　例如：boost:regex reg("(A.*)");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通配符.表示匹配任意字符。*表示它前面的表达式匹配零次或多次。＋表示前面的表达式至少出现一次。<br>　　　[abc]表示匹配a,b,c中的任意一个。也可写为[a-c]。匹配字母可写为[a-zA-Z]或\w。<br>　　　匹配2个数字或字符串&#8220;N/A&#8221; (\\d{2}|N/A)，｜用来分离可选项。<br>　　　\s 表示空格。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \n(n为数字) 表示引用前面的第n个表达式。("\\d{3}([a-zA-Z]+).(\\d{2}|N/A)\\s\\1")　\1引用[a-zA-Z]+,两者必须匹配相同的字符串。<br>3.确认输入<br>&nbsp; 正则表达式最常见的用法是确认输入数据的格式。<br>　手动编写这样的代码是乏味的易错的，而且需要适应需求的变化。<br><br>4.查找<br>　match_results记录匹配后的位置，为下一次匹配作记录。<br>5.循环与贪婪<br>　避免贪婪匹配,在循环后加?<br>　&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "(.*)(\\d{2})"<br>&nbsp; "Note that I'm 31 years old, not 32."<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; "(.*?)(\\d{2})"<br><br>循环匹配<br>　1）*,+,{},?(单独使用，表示匹配零次或一次)。<br>　boost::regex reg1("\\d{5}");匹配5次<br>　boost::regex reg2("\\d{2,4}");匹配2,3，4次<br>　boost::regex reg3("\\d{2,}");匹配2次或2次以上<br>　2）＾用于匹配不是指定的字符。<br>　("[^13579]");匹配不是1,3，5,7，9的字符。<br><br>异常处理<br>　表达式不正确，执行时会抛出异常。<br><br><br> <img src ="http://www.cppblog.com/guaiguai/aggbug/54990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/guaiguai/" target="_blank">guaiguai</a> 2008-06-30 23:12 <a href="http://www.cppblog.com/guaiguai/archive/2008/06/30/54990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BCG中英文菜单转换</title><link>http://www.cppblog.com/guaiguai/archive/2008/05/07/49142.html</link><dc:creator>guaiguai</dc:creator><author>guaiguai</author><pubDate>Wed, 07 May 2008 09:35:00 GMT</pubDate><guid>http://www.cppblog.com/guaiguai/archive/2008/05/07/49142.html</guid><wfw:comment>http://www.cppblog.com/guaiguai/comments/49142.html</wfw:comment><comments>http://www.cppblog.com/guaiguai/archive/2008/05/07/49142.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/guaiguai/comments/commentRss/49142.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/guaiguai/services/trackbacks/49142.html</trackback:ping><description><![CDATA[注释掉SetRegistryBase()<br> <img src ="http://www.cppblog.com/guaiguai/aggbug/49142.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/guaiguai/" target="_blank">guaiguai</a> 2008-05-07 17:35 <a href="http://www.cppblog.com/guaiguai/archive/2008/05/07/49142.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]tinyxml简介</title><link>http://www.cppblog.com/guaiguai/archive/2008/05/06/49057.html</link><dc:creator>guaiguai</dc:creator><author>guaiguai</author><pubDate>Tue, 06 May 2008 14:17:00 GMT</pubDate><guid>http://www.cppblog.com/guaiguai/archive/2008/05/06/49057.html</guid><wfw:comment>http://www.cppblog.com/guaiguai/comments/49057.html</wfw:comment><comments>http://www.cppblog.com/guaiguai/archive/2008/05/06/49057.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/guaiguai/comments/commentRss/49057.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/guaiguai/services/trackbacks/49057.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;" lang="EN-US"><font face="Times New Roman">TinyXML</font></span><span style="font-size: 12pt; font-family: 宋体;">简介</span><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="3"><span style="color: black;" lang="EN-US"><font face="Times New Roman">TinyXML</font></span><span style="color: black; font-family: 宋体;">是目前非常流行的一款基于</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">DOM</font></span><span style="color: black; font-family: 宋体;">模型的</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">XML</font></span><span style="color: black; font-family: 宋体;">解析器，简单易用且小巧玲珑，非常适合存储简单数据，配置文件，对象序列化等数据量不是很大的操作，尤其适用于游戏开发，在</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">Nebula2</font></span><span style="color: black; font-family: 宋体;">，</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">CEGUI</font></span><span style="color: black; font-family: 宋体;">等开源项目中都有使用。本文的目的就是把这个好东东分享给大家：）</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 11pt; color: black;" lang="EN-US"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-size: 12pt; color: black; font-family: wingdings;" lang="EN-US"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span style="font-size: 12pt; color: black; font-family: 宋体;">关于</span><span style="font-size: 12pt; color: black;" lang="EN-US"><font face="Times New Roman">DOM</font></span><span style="font-size: 12pt; color: black; font-family: 宋体;">和</span><span style="font-size: 12pt; color: black;" lang="EN-US"><font face="Times New Roman">SAX<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><font face="Times New Roman"><strong><span style="color: black;" lang="EN-US">DOM</span></strong><span style="color: black;" lang="EN-US"> - Document Object Model<o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="3"><span style="color: black; font-family: 宋体;">将整篇</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">XML</font></span><span style="color: black; font-family: 宋体;">文档一次性解析并读入内存，保存为一个对象供用户访问。</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><font face="Times New Roman"><strong><span style="color: black;" lang="EN-US">SAX</span></strong><span style="color: black;" lang="EN-US"> - Simple API for XML<o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="3"><span lang="EN-US"><font face="Times New Roman">SAX</font></span><span style="font-family: 宋体;">的</span><span lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-family: 宋体;">解析方式是基于事件回调的，解析器在每遇到一个</span><span lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-family: 宋体;">元素时都会产生一个事件，并执行由用户提供的处理函数。</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p><font face="Times new roman" size="3">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-size: 12pt; font-family: wingdings;" lang="EN-US"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span></span><span style="font-size: 12pt;" lang="EN-US"><font face="Times New Roman">TinyXML</font></span><span style="font-size: 12pt; font-family: 宋体;">类结构</span><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="font-size: 9pt; color: black;" lang="EN-US"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><strong><span lang="EN-US"><font face="Times New Roman">[TiXmlBase] </font></span></strong><span style="font-family: 宋体;">所有</span><span lang="EN-US"><font face="Times New Roman">TinyXML</font></span><span style="font-family: 宋体;">类的基类，保存该结点或属性在</span><span lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-family: 宋体;">原文中的信息。</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlAttribute] </span></strong><span lang="EN-US">XML</span></font><span style="font-family: 宋体;">结点属性，一个键值对</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlNode] </span></strong><span lang="EN-US">XML</span></font><span style="font-family: 宋体;">结点的基类，封装了对</span><span lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-family: 宋体;">文档树形结构进行操作和维护的方法</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlComment]</span></strong><span lang="EN-US"> XML</span></font><span style="font-family: 宋体;">注释结点</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlDeclaration]</span></strong><span lang="EN-US"> XML</span></font><span style="font-family: 宋体;">声明结点</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlDocument]</span></strong><span lang="EN-US"> XML</span></font><span style="font-family: 宋体;">文档结点（一般为一篇</span><span lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-family: 宋体;">文档的根结点）</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlElement]</span></strong><span lang="EN-US"> XML</span></font><span style="font-family: 宋体;">结点</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlText]</span></strong><span lang="EN-US"> XML</span></font><span style="font-family: 宋体;">文本结点</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlUnknown]</span></strong><span lang="EN-US"> </span></font><span style="font-family: 宋体;">含有未知标签的</span><span lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-family: 宋体;">结点</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlHandle]</span></strong><span lang="EN-US"> </span></font><span style="font-family: 宋体;">封装了一个结点的指针，在对该指针进行查询时将自动进行空指针交验</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlVisitor]</span></strong><span lang="EN-US"> </span></font><span style="font-family: 宋体;">遍历器接口，描述了每个节点的处理方法，由子类实现</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="3"><font face="Times New Roman"><strong><span lang="EN-US">[TiXmlPrinter]</span></strong><span lang="EN-US"> Printer</span></font><span style="font-family: 宋体;">遍历器</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p><font face="Times new roman" size="3">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-size: 12pt; font-family: wingdings;" lang="EN-US"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span></span><span style="font-size: 12pt; font-family: 宋体;">读取</span><span style="font-size: 12pt;" lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-size: 12pt; font-family: 宋体;">文件</span><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 新宋体;" lang="EN-US">TiXmlDocument doc</span><span style="font-family: 新宋体;" lang="EN-US">("test.xml");<o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 新宋体;" lang="EN-US">doc</span><span style="font-family: 新宋体;" lang="EN-US">.<strong><span style="color: black;">LoadFile</span></strong>("test.xml");</span><span style="font-size: 9pt; font-family: 新宋体;" lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p><font face="Times new roman" size="3">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-size: 12pt; font-family: wingdings;" lang="EN-US"><span></span></span><span style="font-size: 12pt; font-family: 宋体;">写入</span><span style="font-size: 12pt;" lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-size: 12pt; font-family: 宋体;">文件</span><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 新宋体;" lang="EN-US">TiXmlDocument</span><span style="font-family: 新宋体;" lang="EN-US"> <span style="color: black;">doc</span>;<o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><font face="Times New Roman"><span lang="EN-US">&#8230;&#8230;</span><span style="font-family: 新宋体;" lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 新宋体;" lang="EN-US">doc</span><span style="font-family: 新宋体;" lang="EN-US">.<strong><span style="color: black;">SaveFile</span></strong>("test.xml");</span><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p><font face="Times new roman" size="3">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-size: 12pt; font-family: wingdings;" lang="EN-US"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span></span><span style="font-size: 12pt; font-family: 宋体;">遍历</span><span style="font-size: 12pt;" lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-size: 12pt; font-family: 宋体;">文档</span><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 宋体;">首先以</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">FirstChild</font></span><span style="color: black; font-family: 宋体;">获得第一个自节点，然后以</span><span style="color: black;" lang="EN-US"><font face="Times New Roman">NextSibling</font></span><span style="color: black; font-family: 宋体;">获取下个兄弟节点；如此递归遍历所有节点即可。</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: black;" lang="EN-US"><font size="3"><font face="Times New Roman">TiXmlNode::<strong>FirstChild</strong>();<o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><font face="Times New Roman"><span style="color: black;" lang="EN-US">TiXmlNode::<strong>NextSibling</strong>();</span><span style="font-size: 9pt;" lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p><font face="Times new roman" size="3">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-size: 12pt; font-family: wingdings;" lang="EN-US"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span style="font-size: 12pt; font-family: 宋体;">构造</span><span style="font-size: 12pt;" lang="EN-US"><font face="Times New Roman">XML</font></span><span style="font-size: 12pt; font-family: 宋体;">文档</span><span style="font-size: 12pt;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 宋体;">将指定节点插入当前节点子节点队列的末尾</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: black;" lang="EN-US"><font size="3"><font face="Times New Roman">TiXmlNode::<strong>LinkEndChild</strong>();<o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="color: black; font-family: 新宋体;">设置指定节点的属性</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: black;" lang="EN-US"><font size="3"><font face="Times New Roman">TiXmlElement::<strong>SetAttribute</strong>();<o:p></o:p></font></font></span></p>
<font size="3"><font face="Times New Roman"><span style="color: black;" lang="EN-US">TiXmlElement::<strong>SetDoubleAttribute</strong>();</span></font></font><br><br>tinyxml官方主页　<a href="http://www.grinninglizard.com/tinyxml/">http://www.grinninglizard.com/tinyxml/</a><br>在线文档　<a href="http://www.grinninglizard.com/tinyxmldocs/index.html">http://www.grinninglizard.com/tinyxmldocs/index.html</a><br><br>  <img src ="http://www.cppblog.com/guaiguai/aggbug/49057.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/guaiguai/" target="_blank">guaiguai</a> 2008-05-06 22:17 <a href="http://www.cppblog.com/guaiguai/archive/2008/05/06/49057.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>五月计划</title><link>http://www.cppblog.com/guaiguai/archive/2008/04/29/48491.html</link><dc:creator>guaiguai</dc:creator><author>guaiguai</author><pubDate>Tue, 29 Apr 2008 15:03:00 GMT</pubDate><guid>http://www.cppblog.com/guaiguai/archive/2008/04/29/48491.html</guid><wfw:comment>http://www.cppblog.com/guaiguai/comments/48491.html</wfw:comment><comments>http://www.cppblog.com/guaiguai/archive/2008/04/29/48491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/guaiguai/comments/commentRss/48491.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/guaiguai/services/trackbacks/48491.html</trackback:ping><description><![CDATA[分析lua 源代码<br>读head first pattern disign<br><br><br><img src ="http://www.cppblog.com/guaiguai/aggbug/48491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/guaiguai/" target="_blank">guaiguai</a> 2008-04-29 23:03 <a href="http://www.cppblog.com/guaiguai/archive/2008/04/29/48491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>