C++ 讀取XML檔案 Markup.cpp的 CMarkup 讀取XML
阿新 • • 發佈:2018-12-12
新增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。