C++解析xml(使用tinyxml)
环境是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; }