admin 管理员组文章数量: 1086019
2024年4月19日发(作者:nginx静态网站配置)
TinyXml使用指南(1) 作者:tamsyn 来源: 时间:
2006-8-16 【 字体:大 中 小 】 〖 双击滚屏 〗
在这里我们并不是要讲解如何使用XML,或在网页中使用它。而是要在C/C++中使用它。
详细一点就是在C/C++嵌套使用XML文件。要在C/C++中使用XML文件,你就必须需要一
个能分析XML文件的函数库。在这方面有很多,比如libxml2,tinxml,expat等等很多。而我
使用的是tinyxml,为什么要使用它呢?因为它很小巧,只有两个头文件和四个CPP文件。正
如作者在tinyxml官方文件中所说的,如果你不是想在浏览器中使用XML,那么tinyxml非常
适合你。
我们下面来看一下tinyxml是如何在C/C++中建立XML文件的。
char floader[200],buffer[200];
TiXmlDocument* m_xmlDoc = new TiXmlDocument();
TiXmlElement xElement("player");
sprintf(buffer,"%d", 1);
ribute("admin", buffer);
TiXmlElement xPos("pos");
sprintf(buffer,"%d",2);
ribute("x", buffer);
sprintf(buffer,"%d",3);
ribute("y", buffer);
sprintf(buffer,"%d",4);
ribute("zone", buffer);
EndChild(xPos);
m_xmlDoc->InsertEndChild(xElement);
sprintf(floader,"%", "antking");
m_xmlDoc->SaveFile(floader);
delete m_xmlDoc;
这段简单的代码的作用就是将用户数据保存在XML文件中。不同的是我对其做了一些简化。
这段代码的作用就是先建立一个XML文件句柄。
TiXmlDocument* m_xmlDoc = new TiXmlDocument();
然后建立一个成员。
TiXmlElement xElement("player");
sprintf(buffer,"%d", 1);
ribute("admin", buffer);
然后再建立一个成员。
TiXmlElement xPos("pos");
sprintf(buffer,"%d",2);
ribute("x", buffer);
sprintf(buffer,"%d",3);
ribute("y", buffer);
sprintf(buffer,"%d",4);
ribute("zone", buffer);
这个成员包含3个属性。
接下来是将这个成员连接成上一个成员的子结点。
EndChild(xPos);
然后再把上一个结点连接成为XML文件的子结点。
m_xmlDoc->InsertEndChild(xElement);
最后保存这个文件。
sprintf(floader,"%", "antking");
m_xmlDoc->SaveFile(floader);
释放句柄。
delete m_xmlDoc;
这就是创建XML文件的过程。这段代码将产生一个文件,文件内容如下:
它产生的结构可以用一棵树来表示,见下图:
版权声明:本文标题:TinyXml使用指南 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713476017a636547.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论