C++实现xml解析器



在C++中实现XML解析器需要使用一些XML解析库,例如TinyXML、TinyXML2、libxml++等。下面是一个使用TinyXML库解析XML文件的示例代码

#include <iostream>  
#include "tinyxml.h"  
  
using namespace std;  
using namespace tinyxml;  
  
int main() {  
    XMLDocument doc;  
    doc.LoadFile("example.xml");  
  
    XMLElement* root = doc.RootElement();  
    if (root == nullptr) {  
        cout << "Failed to load XML file." << endl;  
        return 1;  
    }  
  
    XMLElement* elem = root->FirstChildElement();  
    while (elem != nullptr) {  
        cout << elem->Name() << ": " << elem->GetText() << endl;  
        elem = elem->NextSiblingElement();  
    }  
  
    return 0;  
}

在上面的代码中,我们首先使用XMLDocument类加载XML文件,然后获取根元素并遍历所有子元素。对于每个子元素,我们打印其名称和文本内容。如果XML文件无法加载或根元素为空,则输出错误消息并退出程序。