﻿<?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-随笔分类-c++</title><link>http://www.cppblog.com/guaiguai/category/7477.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 30 Jun 2008 18:30:18 GMT</lastBuildDate><pubDate>Mon, 30 Jun 2008 18:30:18 GMT</pubDate><ttl>60</ttl><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></channel></rss>