借助tinyxml解析config.xml文件

int read_config()
{
char config_xml_path[256] = {0};
getcwd(config_xml_path, 200);
strcat(config_xml_path,"/down1.xml");
TiXmlDocument docConfigFile(config_xml_path);
if (!docConfigFile.LoadFile())
{
cout<<"docConfigFile.LoadFile error:"<<"down1.xml"<<endl;
return -1;
}


TiXmlHandle docHandle(&docConfigFile);
TiXmlElement *pItemElement = NULL;


pItemElement = docHandle.FirstChild("CONFIG").FirstChild("OSDATEBASE").Element();
if (NULL != pItemElement)
{
if(NULL != pItemElement->Attribute("host"))
{
sprintf(db_host, pItemElement->Attribute("host")) ;
}
if(NULL != pItemElement->Attribute("user"))
{
sprintf(db_user,pItemElement->Attribute("user")) ;
}
if(NULL != pItemElement->Attribute("pass"))
{
sprintf(db_pass,pItemElement->Attribute("pass")) ;
}
if(NULL != pItemElement->Attribute("db"))
{
sprintf(db_name,pItemElement->Attribute("db")) ;
}
}



pItemElement = docHandle.FirstChild("CONFIG").FirstChild("IP").Element();
if (NULL != pItemElement)
{
for(int i=0;pItemElement != NULL; pItemElement = pItemElement->NextSiblingElement("IP"),i++)
{

if(NULL != pItemElement->Attribute("ppcip"))
{
sprintf(g_ppc_pt[i].ppcip_stu, pItemElement->Attribute("ppcip")) ;

}
if(NULL != pItemElement->Attribute("port"))
{
g_ppc_pt[i].port_stu = atoi( pItemElement->Attribute("port")) ;
}
g_ppc_pt[i].task_cnt_stu = 0;
}
}
return 0;

}


XML文件

<CONFIG>


<OSDATEBASE host="10.0.2.246" user="root" pass="" db="mcache" />


<DOWNLOAD_DIR dir ="/home/xulei/big_httpdown/down1_downdir"/>


<DOWN_DEL_ENABLE enable = "0"/>


<DOWN_SRC_ENABLE enable = "1"/>


<UPDATE time ="60"/>


<PPC count ="1"/>


<IP ppcip="10.0.2.47"  port="80" />


</CONFIG>

用到的类库cpp见我的资源:http://download.csdn.net/detail/u010857292/8958911

xml详细介绍(wangyin 师兄)

http://blog.csdn.net/wangyin159/article/details/47110839


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值