環境是vs2010+Windows 7。
timyxml庫我是在這里下載的,直接就能編譯,編譯后得到tinyxml.lib。
使用時當然也需要tinyxml.h文件。
如果不想編譯,這里能下載我編譯好的lib,順便附贈h文件。
我程序中解析的xml文件在這里能找到。
代碼如下:
#include <iostream> #include <string> #include "tinyxml.h" using namespace std; #pragma comment(lib,"tinyxml.lib") int main() { const char * xmlFile = "lianxi.xml"; TiXmlDocument doc; doc.LoadFile(xmlFile); // doc.Print(); //輸出xml文件看看 TiXmlElement* firstLevel=doc.RootElement(); cout<<firstLevel->Value()<<":"<<endl; /* 某些情況會用注釋的這些內容 比如: <menu name="123" num="456"> </menu> TiXmlAttribute *firstAtt=firstLevel->FirstAttribute(); while (firstAtt!=NULL) { cout<<firstAtt->Name()<<":"<<firstAtt->Value(); firstAtt=firstAtt->Next(); } */ TiXmlElement* secondLevel=firstLevel->FirstChildElement(); while(secondLevel!=NULL) { cout<<" "; cout<<secondLevel->Value()<<":"<<endl; TiXmlElement* thirdLevel=secondLevel->FirstChildElement(); while(thirdLevel!=NULL) { cout<<" "; cout<<thirdLevel->Value()<<":"<<thirdLevel->GetText()<<endl; thirdLevel=thirdLevel->NextSiblingElement(); } secondLevel=secondLevel->NextSiblingElement(); } cin.get(); return 0; }