C++ 读取XML文件 Markup.cpp的 CMarkup 读取XML

添加Markup.cpp和.h,使用时添加引用

bool LoadModelCfg(char* FileName)
{
	CMarkup xml;
	if (!xml.Load(FileName))
	{
		return false;
	}

	xml.ResetPos();
	if (xml.FindElem())//第一个根节点
	{
		xml.IntoElem();//进入根目录
		while(xml.FindElem())//循环查找所有二级节点
		{
			if (strcmp(xml.GetTagName(),"Map")==0)//字符串比较
			{
				string mapName = xml.GetAttrib("name");
				printf("Map:%s\n",mapName.c_str());
				xml.IntoElem();
				while (xml.FindElem())
				{
					if (strcmp(xml.GetTagName(),"Field")==0)
					{
						string fieldname = xml.GetAttrib("name");
						string variable = xml.GetAttrib("variable");
						printf("参数:%s;%s\n",fieldname.c_str(),variable.c_str());
					}
					//xml.OutOfElem();
				}
				xml.OutOfElem();
			}
			
		}
	}
}

XML文件:


读取两个简单参数的结果:



注意:

1、xml.OutOfElem();的用法,返回上一节点在什么时候调用。

2、strcmp:字符串比较函数的返回值,两字符串相同时返回 0!!!

                    字符串1=字符串2,返回值=0;
                       字符串2>字符串2,返回值>0;
                       字符串1<字符串2,返回值<0。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值