使用tinyXml读写文件

1、读写文件名称为config.xml ,文件内容如下

<mysql>
    <userconfig name="root" pwd="mysql" />
    <dbconfig addr="192.168.10.142" />
</mysql>

2、写文件代码

TiXmlDocument* m_xmlDoc = new TiXmlDocument();
TiXmlElement xElement("mysql");
//userconfig
std::string sbuf;
TiXmlElement userconfig("userconfig");
sbuf="root";
userconfig.SetAttribute("name", sbuf.c_str());
sbuf="mysql";
userconfig.SetAttribute("pwd", sbuf.c_str());
xElement.InsertEndChild(userconfig);
//dbconfig
TiXmlElement dbconfig("dbconfig");
sbuf="192.168.10.142";
dbconfig.SetAttribute("addr",sbuf.c_str());
xElement.InsertEndChild(dbconfig);


m_xmlDoc->InsertEndChild(xElement);


//save file
sbuf="config.xml";
m_xmlDoc->SaveFile(sbuf.c_str());


delete m_xmlDoc;

3、读文件代码

std::string str;
TiXmlDocument*myconfig = new TiXmlDocument();
if (myconfig->LoadFile("config.xml"))
{
TiXmlElement*xmysql=myconfig->FirstChildElement("mysql");
if (xmysql)
{
TiXmlElement*xuserconfig=xmysql->FirstChildElement("userconfig");
if (xuserconfig)
{
std::string s0=xuserconfig->Attribute("name");
str+=s0;
std::string s1=xuserconfig->Attribute("pwd");
str+=s1;
}
TiXmlElement*xdbconfig=xuserconfig->NextSiblingElement("dbconfig");
if (xdbconfig)
{
std::string s3=xdbconfig->Attribute("addr");
str+=s3;
}
TiXmlElement*xsomeconfig=xuserconfig->NextSiblingElement("someconfig");
if (xsomeconfig)
{
std::string s3=xsomeconfig->Attribute("name");
str+=s3;
}
}
}

delete myconfig;

4、环境vs2010 头文件 tinystr.h tinyxml.h 库文件 tinyxml.lib 

在调用代码的cXX文件头添加 #include "tinyxml.h"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值