您的位置:首页 > 其它

VS下TinyXml使用

2016-12-28 17:22 274 查看

1. 概述


TinyXml是C++平台下简单易用的XML操作工具,可以从SourceForge上下载到最新版本的软件。记录TinyXml的基本使用。

2. 使用
step1:下载TinyXml之后得到一个压缩包文件,解压文件得到TinyXML的代码文档等。
step2:在vs的工程中添加下面6个文件,并且在cpp文件中添加#include "stdafx.h"



step3:在需要使用TinyXml的文件中添加引用:
//包含TinyXML
#include "tinystr.h"
#include "tinyxml.h"至此,TinyXml在VS上的配置已经完成。接下来就需要开始通过它提供的工具来生成XML。

这里使用官方给出的例子来说明,先看一下最后XML生成的结果:
<?xml version="1.0" ?>
<MyApp>
<!-- Settings for MyApp -->
<Messages>
<Welcome>Welcome to MyApp</Welcome>
<Farewell>Thank you for using MyApp</Farewell>
</Messages>
<Windows>
<Window name="MainFrame" x="5" y="15" w="400" h="250" />
</Windows>
<Connection ip="192.168.0.1" timeout="123.456000" />
</MyApp>
实现的代码:
void write_app_settings_doc()
{
TiXmlDocument doc; //定义一个文档类的对象,作为第一个结点
TiXmlElement* msg; //定义一个子结点
TiXmlDeclaration* decl = new TiXmlDeclaration("1.0", "", ""); //第一行预处理指令,分别是符合的规范版本号;编码的字符集UTF-8、GB2312
//之类的
doc.LinkEndChild(decl); //将配置好的预处理指令,添加到XML最开始

TiXmlElement * root = new TiXmlElement("MyApp"); //定义一个子结点
doc.LinkEndChild(root); //添加进Doc类对象

TiXmlComment * comment = new TiXmlComment(); //写XML注释
comment->SetValue(" Settings for MyApp ");
root->LinkEndChild(comment);

TiXmlElement * msgs = new TiXmlElement("Messages"); //定义一个结点
root->LinkEndChild(msgs); //添加到根节点

msg = new TiXmlElement("Welcome"); //初始化一个结点
msg->LinkEndChild(new TiXmlText("Welcome to MyApp")); //在这个结点中添加文本
msgs->LinkEndChild(msg); //添加到上一级结点中

msg = new TiXmlElement("Farewell"); //初始化一个结点
msg->LinkEndChild(new TiXmlText("Thank you for using MyApp"));
msgs->LinkEndChild(msg);

TiXmlElement * windows = new TiXmlElement("Windows");
root->LinkEndChild(windows);

TiXmlElement * window;
window = new TiXmlElement("Window");
windows->LinkEndChild(window);
window->SetAttribute("name", "MainFrame"); //设置结点的一些属性
window->SetAttribute("x", 5);
window->SetAttribute("y", 15);
window->SetAttribute("w", 400);
window->SetAttribute("h", 250);

TiXmlElement * cxn = new TiXmlElement("Connection");
root->LinkEndChild(cxn);
cxn->SetAttribute("ip", "192.168.0.1");
cxn->SetDoubleAttribute("timeout", 123.456); // floating point attrib

doc.SaveFile("appsettings.xml");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: