C++中常用的XML庫有Xerces-C++和TinyXML,下面以TinyXML為例介紹如何使用C++實現DOM解析:
首先,下載TinyXML的源碼并編譯安裝到你的系統中。
在你的C++代碼中引入TinyXML的頭文件:
#include "tinyxml.h"
TiXmlDocument
對象,并加載待解析的XML文件:TiXmlDocument doc("example.xml");
if (!doc.LoadFile()) {
std::cerr << "Failed to load file" << std::endl;
return 1;
}
TiXmlElement* root = doc.RootElement();
if (!root) {
std::cerr << "Failed to get root element" << std::endl;
return 1;
}
for (TiXmlElement* elem = root->FirstChildElement(); elem != NULL; elem = elem->NextSiblingElement()) {
// 處理子元素
}
const char* name = elem->Attribute("name");
if (name) {
std::cout << "Name: " << name << std::endl;
}
const char* text = elem->GetText();
if (text) {
std::cout << "Text: " << text << std::endl;
}
TiXmlElement* subElem = elem->FirstChildElement();
while (subElem) {
// 處理子元素
subElem = subElem->NextSiblingElement();
}
doc.Clear();
通過以上步驟,你可以使用C++實現基于TinyXML的DOM解析功能。更多關于TinyXML的用法和API可以查閱官方文檔或者示例代碼。