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文件的过程。这段代码将产生一个文件,文件内容如下:

它产生的结构可以用一棵树来表示,见下图:


本文标签: 文件 成员 使用 建立 代码