在開發中,我們經常需要將C++中的XML數據轉換為JSON格式,以便于后續的數據處理和顯示。在此,我將分享一種實現的方法。
首先,我們需要用C++的XML解析庫來解析XML數據,這里我們選用了TinyXML2庫。
接下來,我們需要使用JSON解析庫,這里我們使用RapidJSON庫,然后將XML數據轉換為JSON格式。
//設置XML文檔及根元素 tinyxml2::XMLDocument doc; doc.LoadFile("test.xml"); tinyxml2::XMLElement* root = doc.RootElement(); //轉換為JSON文檔 rapidjson::Document jsonDoc; rapidjson::XMLPrinter printer; root->Accept(&printer); jsonDoc.Parse(printer.CStr());
在數據轉換完成后,我們可以對JSON數據進行進一步的處理和操作,如下:
//遍歷JSON數據 for (rapidjson::Value::ConstMemberIterator it = jsonDoc.MemberBegin(); it != jsonDoc.MemberEnd(); ++it) { const rapidjson::Value& arr = it->value; for (rapidjson::Value::ConstValueIterator itr = arr.Begin(); itr != arr.End(); ++itr) { //獲取JSON中的鍵值對 const rapidjson::Value& obj = *itr; if (obj.HasMember("name")) const string name = obj["name"].GetString(); if (obj.HasMember("age")) const int age = obj["age"].GetInt(); } }
通過以上方法,我們可以快速地將XML數據轉換為JSON格式,并對其進行進一步的處理和分析。
下一篇vue和秒剪