添加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。