在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文件无法加载或根元素为空,则输出错误消息并退出程序。